从浏览器启动客户端程序 综述 现在有很多B/S 与C/S 相结合的产品,会出现一种需求:从浏览器启动客户端的程序,并且如果客户端未安装相应程序,先提示安装
主流的几款产品:腾讯QQ、阿里旺旺、迅雷、PPLiv e 等,都有实现了类似的功能
浏览器启动客户端程序可以通过注册自定义的Url 协议来实现,而检测客户端是否安装程序需要利用 Activ eX 控件
要额外注意的是,现在只有IE 浏览器才支持
客户端程序 先准备一个简单的客户端程序,只用来显示传入的命令行参数
Client 1 namespace wuhong
Client 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 if (args
= null && args
Length > 0) 8 { 9 Array
ForEach(args, arg => Console
WriteLine(arg)); 10 } 11 12 Console
ReadLine(); 13 } 14 } 15 } 从浏览器启动 注册自定义的Url 协议,这样当用户点击这个URL 协议的链接后,IE 就会启动相关URL 协议的处理器,使用注册的程序来处理这个协议
具体来说,比如现在需要注册“wuhong
client”的Ur l 协议,使得形如“wuhong
client:XXXXYYYY”的链接都由上节的控制台程序来处理
这一切只需要在客户端安装控制台程序的同时向注册表添加下面的项就可以实现: 注册表 1 [HKEY_CLASSES_ROOT\wuhong
client] 2 3 @="wuhong
Client" 4 5 "URL Protocol"="" 6 7 [HKEY_CLASSES_ROOT\wuhong
client