爬虫
分类: WINDOWS
2012-05-31 11:57:46
在windows中,注册表中包含各种协议(http,ftp,telnet等)的信息,包含了默认打开方式的参数。试一下,从IE的地址栏中输入,出现什么了?弹出了一个命令行窗口,开始进行telnet操作。IE居然能完成这个,那么为什么就不能完成“telnet1://参数” 呢?
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\notenote]
@="URL:notenoteProtocol"
"URL Protocol"="notepad.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\notenote\DefaultIcon]
@="notepad.exe,1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\notenote\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\notenote\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\notenote\shell\open\command]
@="\"notepad.exe\",\"%1\""
把这个东西导入注册表,那么我们在浏览器中输入notenote:// 你将有惊喜的收获。
到这里,思路就清晰了,我们的安装程序中,在注册表中建个协议,例如上面的notenote,再把要执行的exe的路径信息写入,在网页直接一个超链接,协议://参数就可以了。exe文件接受这个参数,进行相应的处理。搞定。
记住,协议://后面的所有字符串被看做是一个参数。那么,exe文件永远只有两个参数,参数0是它的完整执行路径,参数1就是网页传过来的字符串。