网页如何有效调用exe
想做个网游的半点自动登录器,在Web上调用本地exe文件的时候IE总是会弹出对话框是否允许运行,很麻烦,如果把安全性设置低的话又很危险,网上找了下,找到这个解决办法,相对比较安全,又不会弹出对话框,只是360还是会提示不安全,正常吧,毕竟没有十全十美的,以下为解决办法:
基于浏览器的应用,表现力始终不够丰富,我们常常会想,在一个网页中,点一下某个链接,能够直接调用安装好的可执行程序有多好啊。按照微软的推荐,应该是通过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就是网页传过来的字符串。
转载于:https://www.cnblogs.com/shanhe/p/3987622.html
网页如何有效调用exe相关推荐
- 网页调用exe程序(写注册表)
一个常见的网页可以调用程序的注册表结构. 其中DefaultIcon项是可以去掉的.在win7中URL Protocol这一项也是可以去掉的,但是在win10却不行,所以还是乖乖的留着吧. 安装制作包 ...
- 网页怎么调用云服务器资源,网页怎么调用云服务器资源
网页怎么调用云服务器资源 内容精选 换一换 普通的按需实例(不含本地盘.FPGA卡).竞价模式的竞价计费实例(不含本地盘.FPGA卡),关机后,基础资源(vCPU.内存.镜像)不再计费,绑定的云硬盘( ...
- HTML网页打包成EXE可执行文件
HTML网页打包成EXE可执行文件 1.软件准备 NW.js 官网:nwjs.io Enigma Virtual Box 官网:enigmaprotector.com 2.开始操作 首先要有html网 ...
- 在网页中调用本地的应用程序
在网页中调用本地的应用程序 例子: <script> function exec (command) { window.oldOnError = window.onerror; ...
- Java调用exe阻塞
转载自 Java调用exe阻塞 今天遇到了个奇怪的问题,用VC写了个小程序,编译成exe文件,然后用Java去调,居然卡住不运行了. 如果双击这个exe程序,单独让它运行,是可以的,那么为什么用Ja ...
- Java 调用EXE
转载自 Java 调用EXE 使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序. 该方法有6个可访问版本: 1.exec(Str ...
- 企业微信H5_网页jssdk调用 agentconfig选人选照片等案例演示
文章目录 一.验证域名归属校验 1. 阅读文档 2. 配置公网域名 3. 登录企业微信管控台 4. 选择自建应用 5. 网页授权及JS-SDK 6. 填写公网域名 7.下载校验文件 8. 校验文件移动 ...
- 企业微信H5_网页jssdk调用 判断当前客户端版本是否支持指定JS接口
接上一篇:企业微信H5_网页jssdk调用,ticket签名config及示例https://gblfy.blog.csdn.net/article/details/123170569 文章目录 一. ...
- 企业微信H5_网页jssdk调用,ticket签名config及示例
文章目录 一.验证域名归属校验 1. 阅读文档 2. 配置公网域名 3. 登录企业微信管控台 4. 选择自建应用 5. 网页授权及JS-SDK 6. 填写公网域名 7.下载校验文件 8. 校验文件移动 ...
最新文章
- 李宏毅机器学习笔记(二)-------Why we need learn Machine Learning?
- UVA1108 Mining Your Own Business(思维、割点)(2011 ICPC - WorldFinal)
- Jenkins中连接Git仓库时提示:无法连接仓库:Error performing git command: git ls-remote -h
- 工业利用计算机实现生产自动化属于,自动化考试试题(含答案)
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
- cordova 某个页面强制横屏_小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?...
- 【数据结构与算法】比较法分析查找算法与查找结构
- 设计模式 建造者模式
- CVE-2022-22965 漏洞分析,安全问题早发现
- @ModelAttribute
- 09_$.ajax()参数详解及标准写法
- 3.3 决策树分类与回归实战
- D3.js v4版本 按住shift键框选节点demo
- cad墙线打断lisp_CAD墙体如何打断,用tr命令不行,打散的话墙线会错位?
- 基于lora的智慧路灯通信解决方案
- 补助系统C语言,领钱了!全国各省信息系统项目管理师证书技能提升补贴说明...
- linux备份mysql部分表数据,mysqldump导出表的部分数据库
- 自然语言处理——字符串基础操作及应用
- 实验5、D/A转换实验
- xamp安装及环境配置教程
热门文章
- matlan数据分析库函数
- 如何用auto_ptr做为函数的参数进行传递
- Oracle数据库进程杀不掉,求助oracle进程杀不死问题
- php数组为什么其他语言,PHP语言特性和各版本的差异
- 动态半导体ram依据什么存储信息_LPDDR4X和RAM两者有什么关系 它们有什么特点
- vue----常用实例方法--$mount(),$destroy(),$watch(),$forceUpdate()
- 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业...
- silverlight中递归构造无限级树treeview+checkbox
- ASP.NET jQuery 随笔 在TextBox里面阻止复制、剪切和粘贴事件
- Robot Framework Webdriver For Firefox FQA