首页 新闻 会员 周边

通过注册表实现的web调用exe的方法如何传参数

0
悬赏园豆:50 [已解决问题] 解决于 2013-09-22 15:24

类似迅雷,腾讯QQ

在网页上点击链接  就能打开本地的exe程序

我已经查到是通过写入注册表的方法实现的

这个网上有很多例子,如:http://hi.baidu.com/bailida/item/5cad942ad015fbfe51fd8751

但是我想问的是:

这个方法是如何去传参数的,exe端又是如何接收参数的(exe可以用c#的winform为例)

理论上肯定是可以实现的,因为QQ也是点击后弹出对话窗口,迅雷也是点击后出现新建下载的窗口。

求大神指导。

艾尼路的主页 艾尼路 | 初学一级 | 园豆:116
提问于:2013-09-22 14:23
< >
分享
最佳答案
0

自己解决了~

方法步骤如下

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”

艾尼路 | 初学一级 |园豆:116 | 2013-09-22 15:22
其他回答(1)
0

我猜测参数是这样传递:xxx.exe 参数1 参数2.....

exe文件通过注册表找到,然后 exe文件后面跟参数,当然,前提是exe文件可以接受参数

收获园豆:50
会长 | 园豆:12401 (专家六级) | 2013-09-22 14:43

我也猜是这样  另外C#的exe端  我猜接收参数是

static void Main(string[] args)

这样的

目前正在实验中  

支持(0) 反对(0) 艾尼路 | 园豆:116 (初学一级) | 2013-09-22 15:03

@艾尼路: 楼主现在解决了吗

支持(0) 反对(0) DemLiu | 园豆:202 (菜鸟二级) | 2013-12-01 20:08

@刘大宝:解决了啊  上面不是有解决方法吗? 

支持(0) 反对(0) 艾尼路 | 园豆:116 (初学一级) | 2013-12-01 20:27

@艾尼路: 恩恩   我先前就是用的这种方法  不过这种方法在客户端就麻烦了 

支持(0) 反对(0) DemLiu | 园豆:202 (菜鸟二级) | 2013-12-01 20:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册