为你的应用程序注册URL协议

  乍看之下,你可能不理解标题所云者何。其实我们经常看见这种情况:在网页上有链接的地址是这样的:
thunder://QUFodHRwOi8vNjEuMTYzLjkyLjE2Nzo4Mi9kb3duL1RodW5kZXI1LjkuMTQuMTI0Ni56aXBaWg==
一点击便会出现迅雷下载链接指向的内容。flashget、QQ等很多常见的应该程序都有这种功能。是不是很惊奇这是怎么做到的呢?这就是这篇文章所要谈到的,为你的应用程序注册URL协议。实现过程非常的简单。
 
  首先,在注册表的HKEY_CLASSES_ROOT下增加一个键(项),这个键名就是你的协议名,如上文提到的"thunder"。在该键中新建一个名为URL Protocol 的字符串值并且将值留空。
  然后,在该项下新建shell键,shell键下面再建open键,open键下面再建command键。
  最后,将command的默认字符串值设置为
  "C:/Program Files/Test/YouApplication.exe" "%1""
  这里后面有个%1参数,表示浏览器在打开这个协议的时候,会将URL返回给你的应用程序。
 
  不管你相不相信,我们已经基本大功告成了。现在注册表里应该是这个样子的:
HKEY_CLASSES_ROOT
     alert
          (Default) = ""
          URL Protocol = ""
          shell
               open
                    command
                         (Default) = "C:/Program Files/Test/YouApplication.exe" "%1"
 
  剩下要做的只是在你的应用程序中对传递过来的参数做出响应。像聊天工具可能是根据参数来决定要打开与哪个人的聊天窗口,像下载工具可能是根据参数来决定下载地址,blablabla...
为应用程序注册URL协议(Demo)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章