(网页启动客户端程序代码.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(网页启动客户端程序代码

网页启动客户端程序代码(2009-12-07 12:45:36) 转载▼标签:it分类:WEB学习摘自:/liyun919/archive/2009/11/13/4807958.aspx1、?需求描述:项目由网页部分及客户端大厅程序部分组成,网页上有一个进入大厅按钮,如果客户端安装了,点击按钮直接打开客户端程序,如果未安装则提示消息提醒安装客户端程序。类似于QQ游戏大厅、联众游戏大厅的打开,QQ的强制聊天功能。2、首先要实现如果客户端安装了,就打开客户端,网上大多给出的是通过js调用activex控件的方式实现,因为这样IE会弹出安全提示,感觉不好。SCRIPT language=javascriptfunction Run() {var o = new ActiveXObject(WScript.Shell);o.exec(D:\\Program Files\\Ulead Systems\\Ulead VideoStudio 9.0\\vstudio.exe);}/SCRIPT其实我们只需要通过注册协议方式就可以成功实现。在客户端安装时我们只需要写如下注册表信息:[HKEY_CLASSES_ROOT\test]@=testProtocolURL Protocol=C:\\Program Files\\test.Setup\\test.exe[HKEY_CLASSES_ROOT\Ustcori\DefaultIcon]@=C:\\Program Files\\test.Setup\\test.exe,1[HKEY_CLASSES_ROOT\test\shell][HKEY_CLASSES_ROOT\test\shell\open][HKEY_CLASSES_ROOT\test\shell\open\command]@=C:\\Program Files\\test.Setup\\Driver.exe这样就注册了一个新协议test,之后直接通过在浏览器中输入test:\\\ ,就会自动从注册表中查找该协议程序的地址,打开客户端程序。3、然后就要实现客户端未安装时,提示消息了。这个颇费周折,网上没有找到相关的方式,大多的实现方式也是通过js调用WScript.Shell控件。后来找到了网上有很多QQ的实现方式:?function ? IsInstallQQ(){?????? try{//支持 ?? var ? xmlhttp=new ? ActiveXObject(TimwpDll.TimwpCheck); ?? ? ? return ? true; ?? }catch(e){//不支持 ?? ?? location.href=/webpresence/up_alarm.shtml; ?? //window.open(/webpresence/up_alarm.htm,,toolbar=no,location=no,directories=no,status=no,menubar=no, ? scrollbars=yes,resizable=no,copyhistory=no,width=410, ? height=410,top=0,left=0) ?? return ? false; ?? } ?? return ? false; ?? }???对于红色那段activex的调用是怎么回事却没有说明,搜索一下发现msn,迅雷等其实是通过类似的方式实现的,制作一个自定义控件后,并对它进行安全授权,连同客户端程序一起安装,该自定义控件会往注册表中写值,然后通过js实例化该控件,如果异常说明客户端程序未安装。看一下QQ如何写值的:[HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck]@=TimwpDll.TimwpCheck[HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck\CLSID]@=ED4CA2E5-0EEA-44C1-AD7E-74A07A7507A4?认准的实现方向,那么下面就展开对于自定义activex控件的调查。?4、利用VS2008制作自定义activex控件??? a、首先在解决方案下建一个Windows控件库项目(windows from control library),然后增加一个控件UstcOriWebLab.cs。??? b、打开AssemblyInfo.cs修改程序集信息。引用System.Security命名空间,并添加 [assembly?:?AllowPartiallyTrustedCallers()]安全声明,修改[assembly: ComVisible(false)]为[assembly: ComVisible(true)]使程序集Com可见

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档