迅雷,电驴等软件可以在浏览器中点击一个url后自动启动,并执行操作。这是咋实现的呢?
其实就是在注册表上注册了一个Url-protocol的协议,代码如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TEST]
@="TEST"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\TEST\DefaultIcon]
@="C:\\Test\\Debug\\TEST.exe"
[HKEY_CLASSES_ROOT\TEST\shell]
[HKEY_CLASSES_ROOT\TEST\shell\open]
[HKEY_CLASSES_ROOT\TEST\shell\open\command]
@="C:\\Test\\Debug\\TEST.exe \"%1\""
此注册表所实现的就是当浏览器(或其它)碰到 TEST://… 时,自动调用 TEST.exe,并把 TEST://… 地址作为第一个参数传递给 TEST.exe。
可以直接将上面的代码保存为一个reg文件然后注册,或者在你的应用程序安装时直接修改注册表。
但需要注意的是:通过这样的方法启动应用程序时,程序的工作目录会发生改变,如果代码中存在取工作目录路径的代码时会出现错误