用户提出了一个需求,要把本地安装的C/S结构的软件调出来。

注意,不是点击它的快捷方式或者exe文件,而是点击网页上的一个按钮或者链接,就要把软件客户端调出来。在网上找过相关的资料,有两个比较常用的解决方案。

1,采用js代码来调,代码如下:

[javascript] view plaincopy
  1. function Run(strPath) {
  2. var objShell = new ActiveXObject("wscript.shell");
  3. objShell.Run(strPath);
  4. objShell = null;
  5. }
  6. <a onFocus='this.blur()' title=" QQ " href=# οnclick=javascript:Run('file:///D:/Program%20Files/QQ/QQ.exe','File')>调用QQ程序</a>

通过这样的方式,利用的是ActiveX的脚本程序,控制程序调用。然而这里有个安全性的问题,需要调整浏览器的安全级别。另外需要限制本地软件按的安装路径,这就给客户带来极大的麻烦,如果客户软件不安装在 D:/Program%20Files/QQ路径下,就出现找不到路径的错误,缺乏灵活性,不可取。

2,采用java程序,写成一个面板形式,但难度有点大,用户体验也不会好。其基本代码如下:

[java] view plaincopy
  1. public  static  void  main(String[]  args)  throws  Exception  {
  2. Process  p  =  Runtime.getRuntime().exec(
  3. "\"c:/program  files/<a href="http://dev.21tx.com/os/windows/" target="_blank">Windows</a>/notepad.exe\"");
  4. p.waitFor();
  5. }
  6. }

这样可以调用本地的bat程序或者exe程序,同样是安全性问题和路径问题,也许还会有稳定性问题的存在,这个方法也不可取。

最终,还是依靠龙图软件公司的一个控件达到了目的,其步骤如下:

1,安装控件。

2,加上<object>标签,代码如下:

[java] view plaincopy
  1. <OBJECT
  2. classid="clsid:A3E8EEE9-E85E-472A-AEB3-EB182A605C62"
  3. codebase="/${res}/ocx/AppCallerXControl.ocx#version=1,0,0,0"
  4. width="0"
  5. height="0"
  6. visible="0"
  7. id="AppCaller"
  8. >
  9. </OBJECT>

/${res}/ocx/AppCallerXControl.ocx表示控件的路径,id表示控件的对象,可以调用控件类中的方法。

[java] view plaincopy
  1. <script LANGUAGE="javascript">
  2. function clientInvoke(name,code){
  3. AppCaller.callApp(name,code);
  4. }
  5. </script>

clientInvoke 函数表示按钮或者链接的点击事件,name作为该按钮或者链接的标识,要保证其唯一性。code是附加参数,用来与某些固定软件建立连接,一般可以随便书写。

3,并在浏览器上方出现

时,加载activeX。

点击按钮或者链接时,出现选择exe程序的选择框:

找到该exe程序或者快捷方式(当然,其他的也是可以的,比如是一个静态的html页面,bat程序,txt程序都可以,会执行其默认的打开方式)。

注意:该链接一旦与一个软件(或其他)建立关系之后,以后再点击该链接将不需要重新选择,会直接打开,因为在注册表里该链接与该软件的路径已经建立了关联,如图所示:

如图,前面的键值都是唯一的,后面的数据表示软件或者文件的路径,这样就已经完成了绑定,如果要更改绑定,就要在注册表中删除该项,或者更改连接中的键值。

控件下载的链接:控件下载

如上所示,在win7环境下有时候不行,打开ie的时候 要使用取得管理员权限就可以了,第一次,注册之后就可以不用这样了

通过web页面上的链接调用本地软件相关推荐

  1. 如何在Web页面上直接打开、编辑、创建Office文档 (转载)

    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人 ...

  2. [ZZ]如何在Web页面上直接打开、编辑、创建Office文档

    [作者:kaneboy,来源:博客堂] 有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在 ...

  3. python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据

    这个例子展示了如何使用Python完成同样的事情--在web页面上显示提交的数据. 环境配置: win10.Anaconda3 问题: 1.在安装Anaconda3的时候出现了很多问题,经建议安装旧版 ...

  4. java web统计报表_用Java在Web页面上输出统计图 统计报表

    用Java在Web页面上输出统计图 河南省焦作水利局 聂春生 在Internet 和Intranet 的应用中,数据库和Web 技术的结合是传统MIS 系统移植到Internet(Intrant) 环 ...

  5. 把当前web页面上的所有图片复制到特定目录

    把当前web页面上的所有图片复制到特定目录,比如C:/imgs/ 转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/ MoreQuick回复: ...

  6. 在web页面上快速生成二维码的三种实用方法

    转载自:在web页面上快速生成二维码的三种实用方法 二维码是桌面和移动端快速分享的高效手段之一,这里介绍两个不错的快速开发二维码的方法,和大家分享一下~~ 方法1:使用极客标签提供的二维码快速生成服务 ...

  7. web页面上数据是否进行缓存要怎么判断_前端要知道的网络知识五:详细的介绍web缓存...

    Web缓存是可以自动保存常见文档副本的HTTP设备.当Web请求抵达缓存时,如果本地有"已缓存的"副本,就可以从本地存储设备而不是原始服务器中提取这个文档.本文将详细介绍缓存的相关 ...

  8. python excel web_使用python在WEB页面上生成EXCEL文件

    近日写的一个程序需要在WEB服务器上生成EXCEL文件供用户下载,研究了一下找到了以下比较可行的实现方案,下面以web.py为例,把相关代码贴出来供大家参考: 首先需要下载生成EXCEL的模块,推荐使 ...

  9. 解决WEB页面上焦点控制一法

    解决WEB页面上"焦点控制"一法 作者:听棠 对于B/S的系统,在页面控制上不如C/S系统那么控制灵活,就如输入的焦点问题,客户都很想通过键盘对数据进行录入,这样的要求我想100个 ...

最新文章

  1. morality and strength
  2. Flink编程入门(二)
  3. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
  4. Docker上部署GitLab服务器
  5. OpenShift 4 - 镜像漏洞扫描软件 Clair
  6. Linux下Tomcat死活找不到JSP页面中import指定类的解决方法
  7. PAT 1059 Prime Factors[难]
  8. 适合人工智能开发的5种最佳编程语言优缺点对比
  9. Qt更改字体为思源黑体
  10. ug怎么画曲线_UG怎么画雨伞?ug曲面造型实例教程
  11. 破解WinRAR广告
  12. 在微型计算机所说的80586,2017年职称计算机考试题库及答案
  13. python爬虫入门教程——爬取360翻译
  14. 当区块链遇上“智慧城市”,南京能走多远?
  15. 网易云音乐用户信息爬取以及可视化
  16. 偷偷看,别让老板发现了...微信如何多开,实现工作号和私人号分离|亲测,win系列所有系统都可以实现
  17. MySQL——插入语句
  18. 做人,该善良时就善良,该勇敢时就要有勇气去对应
  19. 数据库primary key和unique的区别与联系
  20. OpenGL ES 案例04:GLSL加载图片

热门文章

  1. 企业IT管理员IE11升级指南【9】—— IE10与IE11的功能对比
  2. HMC5883L磁力计常见问题解答
  3. Android 在线启动、停止 init.rc 中的服务
  4. 驿唐无线串口通服务器稳定吗,驿唐无线网口通方案实现PLC和触摸屏程序远程更新.ppt...
  5. Vueg - 为webApp提供专场特效的开源Vue插件
  6. Tip | iPhone照片按相册导入电脑
  7. Java 写一段蔡徐坤跳舞的代码
  8. 走进前端和VSCO的安装及使用
  9. Java面试——Nginx
  10. Python之旅 — 下载与安装