类似迅雷,腾讯QQ
在网页上点击链接 就能打开本地的exe程序
我已经查到是通过写入注册表的方法实现的
这个网上有很多例子,如:http://hi.baidu.com/bailida/item/5cad942ad015fbfe51fd8751
但是我想问的是:
这个方法是如何去传参数的,exe端又是如何接收参数的(exe可以用c#的winform为例)
理论上肯定是可以实现的,因为QQ也是点击后弹出对话窗口,迅雷也是点击后出现新建下载的窗口。
求大神指导。
自己解决了~
方法步骤如下
1.写注册表的时候,最后路径要加上参数,如:
[HKEY_CLASSES_ROOT\Simu\shell\open\command] @="\"x:\\simu\\Simulink.exe\" \"%1\""
前面是路径,后面的 %1就是参数了
2.程序的主入口加入参数,以C#为例:
static void Main(string[] args) { if (args.Length > 0) { MessageBox.Show(args[0].ToString()); } }
3.在写链接的时候自定义参数,程序会把整个链接都获取到,自己在进行解析 :
比如:
<a href="MyOfficeCon://hello">123123</a>
会获取到
“MyOfficeCon://hello”
我猜测参数是这样传递:xxx.exe 参数1 参数2.....
exe文件通过注册表找到,然后 exe文件后面跟参数,当然,前提是exe文件可以接受参数
我也猜是这样 另外C#的exe端 我猜接收参数是
static void Main(string[] args)
这样的
目前正在实验中
@艾尼路: 楼主现在解决了吗
@刘大宝:解决了啊 上面不是有解决方法吗?
@艾尼路: 恩恩 我先前就是用的这种方法 不过这种方法在客户端就麻烦了