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%了,求高手解答,谢谢。
------解决方案--------------------我的代码是写日志功能。
你在a.exe对应源代码的相关位置用Log函数写相关日志(比如执行到第几行,命令行参数内容是什么等等。)
另外
URLencode的概念:
比如
link://D:\b.doc
URLencode后可能为
link://D%3a%5cb%2edoc
在a.exe里面在
URLdecode为
D:\b.doc