我见过:

http://www..。 ftp://blah.blah..。 文件:/ / blah.blah…… 不真实:/ / blah.blah…… mailto: / / blah.blah……

你看到http和类似调用的第一部分是什么?

我可以自己登记吗?


当前回答

第一部分被称为协议,是的,你可以注册自己的协议。在Windows上(我假设你是在使用c#标签——抱歉Mono的粉丝们),它是通过注册表完成的。

其他回答

You don't really have to do any registering as such. I've seen many programs, like emule, create their own protocol specificier (that's what I think it's called). After that, you basically just have to set some values in the registry as to what program handles that protocol. I'm not sure if there's any official registry of protocol specifiers. There isn't really much to stop you from creating your own protocol specifier for your own application if you want people to open your app from their browser.

这叫做协议。唯一阻止你制定自己的协议的是:

编写某种类型的浏览器或用户代理来理解该协议,包括URL形式和实际数据格式 编写一个能够理解该协议的服务器 最好有一个协议规范,这样浏览器和服务器就可以继续一起工作。

Windows使#1变得非常简单,在很多情况下这就是你真正需要的。即:

将应用程序注册到URL协议

打开记事本,将下面的代码粘贴进去。将“YourApp”更改为应用程序的名称。

保存到YourApp。通过在资源管理器中单击它来注册并执行它。

就是这样!

REGEDIT4

[HKEY_CLASSES_ROOT\YourApp]
@="URL:YourApp Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\YourApp\DefaultIcon]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\""

[HKEY_CLASSES_ROOT\YourApp\shell]

[HKEY_CLASSES_ROOT\YourApp\shell\open]

[HKEY_CLASSES_ROOT\YourApp\shell\open\command]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\" \"%1\" \"%2\" \"%3\" \"%4\" \"%5\" \"%6\" \"%7\" \"%8\" \"%9\""

第一部分被称为协议,是的,你可以注册自己的协议。在Windows上(我假设你是在使用c#标签——抱歉Mono的粉丝们),它是通过注册表完成的。

对于大多数微软产品(Internet Explorer, Office,“打开文件”对话框等),您可以注册一个应用程序,当带有适当前缀的URI被打开时运行。这是更常见的解释的一部分——如何实现您自己的协议。

Mozilla的解释在这里,Java -在这里。