基于浏览器的应用,表现力始终不够丰富,我们常常会想,在一个网页中,点一下某个链接,能够直接调用安装好的可执行程序有多好啊。按照微软的推荐,应该是通过ActiveX,把可执行程序嵌入到网页中,例如flash的ActiveX。这样,我们就要购买ActiveX的签名,不通过签名的东西,在IE6中是无法加载的,为一个小项目购买ActiveX的签名,代价太昂贵了。另外,很多时候还要考虑如果用户突然关闭了浏览器该怎么办。这对播放个flash、歌曲之类的没多大影响,但是很多时候,不能在关闭前清扫战场,带来的后果是灾难性的。通常,在企业应用中,我们总是通过IE直接调用exe。
最早的时候,从网页调用一个EXE是很简单的事情,一段javascript就可以了。但是,自从IE6开始,微软就不再允许这种“极不安全的行为”。这也是有道理的。没事就给你来个“format d:/q”,即使不这么恶劣,动不动就给你弹几百个notebook,也确实够恐怖的。浏览器不应该与操作系统有太多不必要的关联。
拿javascript在IE6测试之后,我几乎放弃了直接调用exe的想法,直到有一天,看到了腾讯的实现方法。
腾讯有一个在网页上面显示QQ状态的东西,点一下就能弹出一个对话框跟该QQ用户聊天(就是我blog左上方的那个Q我的小图标),而不会有任何警告。好神奇啊。注册表里面研究了一天,终于明白了怎么回事。
在windows中,注册表中包含各种协议(http,ftp,telnet等)的信息,包含了默认打开方式的参数。试一下,从IE的地址栏中输入telnet://www.163.com,出现什么了?弹出了一个命令行窗口,开始进行telnet操作。IE居然能完成这个,那么为什么就不能完成“telnet1://参数” 呢?
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SIMS]
@="SIMS"
"URL Protocol"="C:\\PROGRA~1\\SIMS\\trans.exe %l"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SIMS\DefaultIcon]
@="%SystemRoot%\\system32\\url.dll,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SIMS\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SIMS\Shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SIMS\Shell\open\command]
@="C:\\PROGRA~1\\SIMS\\trans.exe %l"
把这个东西导入注册表,那么我们在浏览器中输入sims://1022,那么就会自动调用c:\program files\sims\trans.exe(当然了,你得确实有这个文件),并把1022这个参数传给该exe。这个操作被认为是安全的,不会有任何的限制。
到这里,思路就清晰了,我们的安装程序中,在注册表中建个协议,例如上面的SIMS,再把要执行的exe的路径信息写入,在网页直接一个超链接,协议://参数就可以了。exe文件接受这个参数,进行相应的处理。搞定。
记住,协议://后面的所有字符串被看做是一个参数。那么,exe文件永远只有两个参数,参数0是它的完整执行路径,参数1就是网页传过来的字符串。
相关推荐
本篇文章将围绕“网页调用exe文件”这一主题展开讨论,详细介绍其实现原理和技术细节。 #### 二、技术实现原理 网页调用本地exe文件主要是通过JavaScript脚本来实现的。这里涉及到的关键技术是ActiveX控件,这是一...
网页采用命令行方式调用EXE是一种常见的技术实践,它允许网页应用与本地系统进行交互,执行特定的任务或调用特定的功能。这种技术通常涉及到JavaScript(JS)在浏览器环境中通过ActiveXObject或者Node.js的child_...
要启用浏览器调用exe,首先需要在用户的计算机上安装一个ActiveX控件,这个控件具有执行本地文件的权限。然后,在网页中,通过JavaScript代码来调用ActiveX对象,传递命令给控件,由控件执行相应的exe文件。这通常...
使用URL Protocol实现网页调用本地程序,通过不同参数,可进行不同操作,简单测试版。 在浏览器无法调用本地资源,项目需要网页打开本地excel,而进行URL Protocol研究测试。 无法编辑下载需要的分数,很抱歉。 所有...
### 从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法 #### 一、引言 在Web开发中,有时我们需要实现从Web页面直接调用本地应用程序的功能,如打开特定的软件或执行某些特定操作。这种需求在很多场景下都...
在C#编程中,有时我们需要实现一个功能,即让程序能够调用用户的默认浏览器来打开指定的网页。本文将详细探讨几种实现这一功能的方法,并提供相关的代码示例。以下是一些常用的技术途径: 1. 使用`Process.Start()`...
3. **URL字符串**:存储要打开的网页地址,可以是硬编码的,也可以来自用户输入或其他数据源。 4. **`Run`函数调用**:在适当的地方调用`Run`函数,结合浏览器路径和URL,启动浏览器并导航到指定页面。 为了使DEMO...
本示例"jacob-js调用ocx"提供了一个详细的教程,演示了如何使用Jacob库在Java中调用OCX控件,并通过JavaScript在网页中与之通信。 首先,Jacob库是一个Java到COM(Component Object Model)桥接器,它允许Java应用...
总之,VB调用VBS脚本是一种有效的利用各自优势的方式,可以扩展VB的功能,同时利用VBS的简洁性和灵活性。在实际应用中,要根据具体需求选择合适的调用方法,并注意跨语言的交互细节,以确保代码的稳定性和效率。
标题中的“禁止弹网页工具(针对Dr.COM宽带客户端).exe”是一个特定的程序,主要用于解决在使用Dr.COM宽带客户端时遇到的自动弹出网页的问题。Dr.COM通常是中国电信、中国联通等运营商提供的网络接入服务,其客户端...
【IIS配置——通过IIS.EXE实现服务器管理...通过熟练使用"IIS.EXE",我们可以有效地管理IIS服务器,提升服务的安全性和性能。在实际操作中,还需要根据具体环境和需求,灵活调整配置,确保IIS服务器稳定、高效地运行。
wkhtmltopdf是一款高效且易于使用的工具,专为将HTML网页转换为高质量的PDF文档而设计。...通过简单的命令行调用,用户可以快速、稳定地将网页内容转化为高质量的PDF文档,实现信息的有效保存和分享。
通过在网页中嵌入ActiveX对象,JavaScript可以调用其方法来启动本地的.exe文件。然而,由于安全问题,现代浏览器已限制或完全禁止了ActiveX的使用。 2. **WebSocket双向通信**:WebSocket提供持久性的双向通信通道...
总之,FFOCX是火狐浏览器调用OCX控件的有效解决方案,对于那些依赖ActiveX功能的用户来说,它提供了一种在非IE浏览器中继续使用这些功能的途径。然而,使用时务必谨慎,确保在安全和便利之间找到平衡。
同时,软件在压缩速度和压缩率上表现出色,对于大文件的处理也游刃有余,有效节省了存储空间。 在压缩包内的文件中,我们可以看到以下几个关键元素: 1. **1053011.exe**:这可能是一个程序或更新的执行文件,通常...
在IT行业中,尤其是在Web开发领域,有时候我们需要在网页上实现与客户端本地资源的交互,比如调用客户端的可执行文件(exe)。这个问题在标题“hrefexe.rar”中得到了体现,它是一个C#项目,用于演示如何在网页中...
在IT领域,有时我们需要在网页应用中调用本地的可执行程序(exe)来实现特定功能,例如自动化任务、数据处理等。本文将详细介绍如何通过PHP和JavaScript来打开本地的exe程序,并传递相关参数。 首先,PHP部分主要是...
Lodop.exe和LodopFuncs.js是与网络打印服务相关的两个关键文件,它们在IT行业中主要用于实现网页上的打印功能。这两个文件是LODOP打印服务的核心组成部分,由上海连我科技有限公司开发,广泛应用于各类网页应用和...
在IT行业中,远程桌面功能是不可或缺的一部分,它允许用户通过网络连接到另一台计算机并进行...在使用过程中,理解库的工作原理、正确配置连接参数、处理好安全性问题以及有效地管理资源,都是确保项目成功的关键因素。