日期:2014-05-16  浏览次数:20861 次

RRL Protocol修改注册表,在浏览器输入程序参数,运行程序
我写了一个a.exe文件,需要命令行传参运行(1个参数)
 
程序实现,参入一个文件文件路径,打开文件:命令行输入:a.exe D:\b.doc
现在我想在浏览器中输入:link://D:\b.doc 和命令行输入一样,运行程序,但是不成功,
我的程序放在 C盘的 LINK 文件夹下

我的URL Protocol 修改注册表的代码如下:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\LINK]
@="linkProtocol"
"URL Protocol"="C:\\LINK\\a.exe"

[HKEY_CLASSES_ROOT\LINK\DefaultIcon]
@="C:\\LINK\\a.exe,1"

[HKEY_CLASSES_ROOT\LINK\shell]

[HKEY_CLASSES_ROOT\LINK\shell\open]

[HKEY_CLASSES_ROOT\LINK\shell\open\command]
@="\"C:\\LINK\\a.exe\" \"%1\""


但是没法运行,而且一下CPU使用就100%了,求高手解答,谢谢。
浏览器 注册表 shell Windows

------解决方案--------------------
我的代码是写日志功能。
你在a.exe对应源代码的相关位置用Log函数写相关日志(比如执行到第几行,命令行参数内容是什么等等。)

另外
URLencode的概念:
比如
link://D:\b.doc
URLencode后可能为
link://D%3a%5cb%2edoc
在a.exe里面在
URLdecode为
D:\b.doc