在网页上启动你的应用程序

136 篇文章 0 订阅
19 篇文章 0 订阅

简单一点的做法,是通过客户端js来启动。这样做有安全隐患,因此window后面版本的操作系统,严格限制了js的权限。


研究qq的实现方式,发现非常简单。看下面的注册文件:


Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test]
@="Test"
"URL Protocol"="应用程序路径 %l"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\DefaultIcon]
@="%SystemRoot%\\system32\\url.dll,0"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell]


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell\open]


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell\open\command]
@="应用程序路径 %l"


你可以直接将它保存为一个reg文件然后注册,或者在你的应用程序安装时直接修改注册表。




在你的网页上加一个这样的链接:
<A href='Test://para1&para2&para3'>


如果你点这个链接,你在注册文件里的应用程序就可以被启动了。


还有一个需求,一般从网页启动应用需要传递参数(上面链接后面带了三个参数),做法如下:


你的应用程序主函数要这样接收参数:


static void Main(string[]   args) 
  {
   if(args.Length>0)
   {
    //存参数
    }
  }
通过args[index]就可以访问到你传递的参数了。




例如:
通过网页打开金山词霸 D:\Program Files\Powerword 2007\xdict.exe 程序路径
把下面的程序保存为reg文件,双击运行就可以(一定要包含第一行版本信息)


Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test]
@="Test"
"URL Protocol"="D:\\Program Files\\WindowsApplication1.exe %l"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\DefaultIcon]
@="%SystemRoot%\\system32\\url.dll,0"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell]


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell\open]


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Test\Shell\open\command]
@="D:\\Program Files\\WindowsApplication1.exe %l"


调用
<A href='Test://message?username=daniel' id="test">ddd</A>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值