2007年10月27日星期六

如何实现IE协议调用本地程序?

  刚才在看zuola的Blog的时候,看到右上有
  1. skype:+8613467668333?call
  2. skype:zuola.com?add
  3. mailto:zuola.com@gmail.com
  4. gtalk:chat?jid=zuola.com@gmail.com

  这看上去类似URL协议的东西。特别是最后一个,你可能会想到QQ也可以。那么他们是怎么做到的?去Google了一下,其实实现还挺简单的。通过一下注册表很快能实现类似skype:, mailto:, gtalk:, 包括verycd的这些很cool的浏览器调用方法。


REGEDIT4
[HKEY_CLASSES_ROOT\notenote]
"URL Protocol"="notepad.exe"
[HKEY_CLASSES_ROOT\notenote\DefaultIcon]
@="notepad.exe,1"
[HKEY_CLASSES_ROOT\notenote\shell\open\command]
@="notepad.exe"

  把上面的notenote全部换成naiotalk以及路径,或者你自己的程序。

REGEDIT4 [HKEY_CLASSES_ROOT\naiotalk]
"URL Protocol"="naiotalk.exe"
[HKEY_CLASSES_ROOT\naiotalk\DefaultIcon]
@="naiotalk.exe,1"
[HKEY_CLASSES_ROOT\notenote\shell\open\command]
@="C:\Program Files\Naio Network\Naio Talk\notepad.exe"
"/%1"


注意
  以上代码保存到txt文件。然后修改文件名后缀为.reg。双击运行即可导入注册表。
  这样你就可以在IE浏览器里输入 naiotalk: (注意有冒号),即可调用naiotalk.如果想在你自己的程序中指定传参,那可就不是几句话了。


自动化对象才可以的.也就是进程外COM

没有评论:

 
(L)1984 - 2007 TONY CHEUNG