网页(浏览器)调用本地exe应用软件

1 篇文章 0 订阅
订阅专栏

1. 背景

        为什么要学习网页调用本地exe?因为项目有一个需求,就是通过页面的按钮,点击调用本地的GUWP(exe软件),使其可以直接登录和打开。

         而exe应用软件,它只能通过cmd进行操作和数据的传递。

2. 通过网络协议进行和exe通信

        通过注册表reg文件,将网络协议(guwp://....)注入到注册表中,通过url的命令,直接启动本地exe软件。比如QQ或者百度网盘等,如果你机器本地已经有exe了,在网页上会直接去把你机器本地的exe给调起来。

2.1. exe软件

        exe软件代码(需要pyrthom依赖)【guwp.exe文件放在附录】

import sys

from tkinter import messagebox


def mmain(args:list):

    if len(args) > 0:

        messagebox.showinfo("提示", "您的参数为:{}".format(args))

    else:

        messagebox.showinfo("提示", "您一个参数都没有。。。")


if __name__ == '__main__':

    # print(sys.argv)

    mmain(sys.argv[1:])

        将python代码打包成exe文件

        打开cmd,输入:pip install pyinstaller,安装打包软件

        进入存放guwp.py的文件夹下(D:\test),通过地址栏输入:cmd

        在guwp.py的文件下打开cmd,输入:pyinstaller -F "guwp.py"

        打包好exe软件,会在dist文件夹下(D:\test\dist)生成exe文件。

        复制到测试文件下(D:\guwp)

        打开cmd,输入:D:\guwp\guwp.exe 11111111111111111

        exe软件执行成功,会出现提示框,并且展示输入的参数内容。

2.2. reg注册文件

        reg注册文件代码【guwp.reg文件放在附录】

        若要执行其他exe文件,只需修改上面的本地路径(D:\\guwp\\guwp.exe)

        若想接收参数,在最后一行的格式定义上加上“%1”,这个字符串代表可以接收参数。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\guwp]
"URL Protocol"="D:\\guwp\\guwp.exe"
@="guwProtocol"
[HKEY_CLASSES_ROOT\guwp\DefaultIcon]
@="D:\\guwp\\guwp.exe"
[HKEY_CLASSES_ROOT\guwp\shell]
[HKEY_CLASSES_ROOT\guwp\shell\open]
[HKEY_CLASSES_ROOT\guwp\shell\open\command]
@="\"D:\\guwp\\guwp.exe\" %1"

        若想不接收参数,可直接不写

@="\"D:\\guwp\\guwp.exe\"

        网络协议的生效只和注册表的路径名称有关!比如下面路径(HKEY_CLASSES_ROOT\guwp1

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\guwp1]
"URL Protocol"="D:\\guwp\\guwp.exe"
@="guwProtocol"
[HKEY_CLASSES_ROOT\guwp1\DefaultIcon]
@="D:\\guwp\\guwp.exe"
[HKEY_CLASSES_ROOT\guwp1\shell]
[HKEY_CLASSES_ROOT\guwp1\shell\open]
[HKEY_CLASSES_ROOT\guwp1\shell\open\command]
@="\"D:\\guwp\\guwp.exe\" %1"

        点击guwp.reg将URL Protocl注入注册表中

        检查注册表中是否存在guwp的这个网络协议,打开win+R,输入:regedit,打开注册表编辑器。

        测试guwp协议是否注册成功,在URL栏输入:guwp://111111111111

        回车enter,就会出现要打开guwp.exe

        就能够调用本地的exe软件,并且将参数传入到exe软件中。

        这个通过网络协议的参数传递是带有guwp://格式的,和通过cmd启动exe的参数形式不一样。

3. 前端调用cmd

        前端可以通过js代码直接获取本地计算器权限,调用cmd执行代码,这是功能只能在ie浏览器进行,其他浏览器不支持。

        JAVAscript执行cmd代码

var  cmd = new ActiveXObject("WScript.Shell");
cmd.run("D:\\guwp\\guwp.exe 11111111111111111");");

        执行这段代码,需要打开ie浏览器的权限功能,重新启动ie。

        打开ie浏览器的开发工具,进入控制台,输入js代码。

        点击运行,会出现执行guwp文件提示。

        点击允许,这就是直接执行cmd命名,调用gwup.exe。

        注意:这个功能方法虽然可以通过前端调用cmd,执行exe软件,但是有个严重的安全问题,就是网页可以通过cmd获取到你的计算权限,如果他人要是执行文件清除等命令,后果不堪设想。所以一般禁止使用这个功能,使用网络协议调用本地的exe软件,才是正确的方法。

4. 附件

4.1. 代码附带文件

        reg注册文件(去掉.txt),exe软件代码(去掉.txt)

        【鄙视不支持txt文件上传】

        链接:https://pan.baidu.com/s/1xSuObg5qf1_oeEMhwxommQ 
        提取码:vkju

4.2. 素材来源

  1. 浏览器调用本地exe(应用程序)方法--链接
  2. 网页:如何调用本地EXE文件-- 链接
  3. python中用pyinstaller工具打包exe-- 链接
  4. JAVAscript怎么执行cmd命令-- 链接

web调用本地应用程序exe例子
02-16
web调用本地应用程序
网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
10-29
网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
网页调用本地应用程序
qq_42600647的博客
01-03 719
描述:本文介绍在网页里通过url protocol方式调用本地exe文件的方法,主要分为两步,首先,编写注册表,然后页面里调用
通过网页调用本地的exe程序
最新发布
积累点滴,保持自我
04-11 219
创建一个自定义链接协议,实际上在浏览器中定义了一个新的 URL 方案,能够通过点击链接来触发自定义操作。如果您的 EXE 文件不需要参数,那么您可以简化注册表项中的命令设置。这种方法的原理是相同的,只是命令设置中省略了参数部分。如果您的 EXE 文件不需要接收参数,您可以直接指定 EXE 文件的路径。链接时,操作系统会调用相应的命令,从而启动本地程序。请注意,这个示例中的路径需要根据您的实际情况进行调整。在这个示例中,链接的 URL 是。在上面的示例中,将您的协议名称(在上面的示例中,将您的协议名称(
C#浏览器编程,学习使用
08-04
4 浏览器网络编程(共两周) 4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 (1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。 (3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET /chn/yxsz/index.htm。 (6) 服务器 给出响应,把文件 index.htm 发给浏览器。 (7) TCP 连接释放。 (8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本 4.2 浏览器功能结构(老师讲解1学时,学生理解1学时) 浏览器程序功能结构如图4-2所示。 图4-2 浏览器功能结构 1) 浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。 2) 控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。 3) 例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档 4) HTML 解释程序是必不可少的,而其他的解释程序则是可选的。 5) 解释程序把 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。 6) 许多浏览器还包含 FTP 客户,用来获取文件传送服务。 7) 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件 8) 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。 9) 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 10) 但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。 11) 许多浏览器允许用户调整缓存策略。 4.3 浏览器设计(老师讲解2学时,学生设计2学时) (1)浏览器功能设计 浏览器功能设计主要确定设计好的浏览器需要具备哪些功能,以及这些功能是以什么方式进行实现,这个步骤相当于软件设计中的“需求分析”,其中必须保证基本功能的具备,即浏览器必须能够浏览Web页面。 (2)浏览器界面设计 浏览器界面设计主要确定浏览器的页面布局,设定浏览器窗口上设置哪些功能菜单项、设置哪些功能按钮、设置哪些状态栏,它们各自的位置如何、属性如何、对应的变量如何等等。 (3)浏览器代码设计 浏览器代码设计主要是确定对上述的设计的功能在代码上怎样实现,包括选用的程序语言和编程平台选择、程序代码的编写、程序代码的调试、程序功能的测试等等。 4.4 浏览器编程设计平台(老师讲解2学时,学生理解4学时) (1)VS2005编程平台 (2)WebBrowser类及其使用 (3)一些浏览器程序的代码分析 4.5 浏览器开发步骤(8天) (1)熟悉VS2005平台,建立项目(半天) 打开VS2005选择“创建项目”,进入“新建项目”对话框,如图4-1所示。 图4-1 “新建项目”对话框 在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义使用“CSharp浏览器”作为项目名称,如图4-2所示。 图4-2 输入新建项目的属性 完成输入内容后,单击“确定”按钮,进入项目VC#开发窗口“Form.cs[设计]”,如图4-3所示。 图4-3 VC#开发窗口“Form.cs[设计]” (2)界面设计(1天) ○1设计菜单栏如图4-4所示。(半天) 图4-4 设计菜单栏 设计“文件”菜单如4-5所示。 图4-5 设计“文件”菜单 设计“编辑”菜单如图4-6所示。 图4-6 设计“编辑”菜单 设计“查看”菜单如图4-7所示。 图4-7 设计“查看”菜单 设计“收藏”菜单如图4-8所示。 图4-8 设计“收藏”菜单 设计“工具”菜单如图4-9所示。 图4-9 设计“工具”菜单 ○2设计工具栏、用户区和状态栏如图4-10所示(半天) 图4-10 工具栏和状态栏 (3)功能代码编辑 ○1初始化代码(半天) 双击“Form”设计页面进入代码编写页面,如图4-11所示。 图4-11 代码编写页面 初始化页面代码如下: ////////////////////////////////////////////////////////
浏览器exe快捷打开
06-01
NULL 博文链接:https://gaochunhu.iteye.com/blog/2298703
通过浏览器调用本地Exe文件
01-30
通过浏览器调用本地exe文件,并且可以传随意字符串的参数。
浏览器调用本地exe
12-28
设计到修改注册表,建议在修改之前对注册表进行备份,方便出差找回
网页中打开exe
weixin_34107955的博客
06-29 637
网页上打开本地的exe文件,可以吗? 西蒙说:可以的。 方法如下: 1、定义一个私有协议,指向本地的那个exe 2、在网页上将此私有协议作为URL,点击之即可打开那个exe 3、URL中还可以包含参数,传递给那个exe 1、定义一个私有协议 协议,http就是一个众所周知的例子。在浏览器中输入这个东东,浏览器就能明白是打开一个网页。那么,这个私有...
chrome 调用本地exe
08-18
1,chrome 浏览器本身不支持直接调用exe,但可以使用url protocol handler 调用exe 2,直接双击exe_chrome.reg 安装注册表 3,test.html 要在运行在容器里(tomcat,resin XXXX),本地直接打开是执行不了的,我折腾了好久才弄懂这个问题的 注,chrome 通过注册表注册表 只能调用本地的 exe 或者bat文件,不能调用 ppt word 这样的问题,所以我用VB 写了一个exe 可以接收调用参数,这样只许注册一次就可以通过传参打开所有课执行文件了 由于1.exe是后台直接打开windowsexe 所以杀毒软件有可能会提示1,exe 是病毒程序。
网页调用本地exe文件
蝈蝈的博客
03-16 8404
本文介绍在网页里通过url protocol方式调用本地exe文件的方法,主要分为两步,首先,编写注册表,然后页面里调用
第三方应用 文件方案接口介绍1
08-03
1、此方法在 Qbsdk 类下 2、调用之后,优先调起 QQ 浏览器打开文件 3、此方法暂时只支持本地文件打开,在线文件后期完善
灵者编辑器(GEdit) 2011.03.14.zip
07-13
灵者编辑器这是一款轻量级、多标签的文本编辑器,除了支持常规的纯文本编辑功能外,还支持文档密钥存储、正则查找替换、文档格式转换、一键排版处理等等,另还有自动打字、批量加解密外部文档、内附正则调试器、即时执行所选文本等特色功能,是代替系统记事本的绝佳工具。   灵者编辑器详细信息: 多标签页:允许同时打开多个文档进行编辑,可以通过菜单【新建-打开】命令(或Ctrl O快捷键)、系统资源管理器的右键菜单【发送到】里的【灵者编辑】项目、直接拖放等方式打开多个文档。 正则功能:使用正则进行替换文本,基于正则的强大功能,使要求复杂的替换工作变得轻松许多安全存储:您可以将重要文档进行加密保护,如此便可确保文档的真实内容只有您自己才可查阅。 格式转换:提供多达 31 个项目的格式转换,如字母大小写互转、全半角互转、繁简体互转、大陆的GBK编码和台湾的Big5编码互转、汉字转为拼音、URL编解码(支持UTF-8)、Base64编解码(邮件标准)、RTF丰富文本(码)到纯文本、获取数据摘要(md5、md4、crc32、md2、sha1)、十六进制和字串的互转、字符和字符代码的互转等等一键排版:支持行处理如去除空行、插入空行、间隔空行、打乱行序,支持行首缩进、删除空格等等另外还有: ● 自动打字,可以把文档逐个字显示出来,类似于人工打字的效果。 ● 批量加解密外部文档,可以同时对任意个任意格式的文件进行加密和解密,确保数据安全。 ● 强大完善的正则调试环境,提供正则搜索和替换以及语法学习和教程。 ● 即时对所选文本调用系统定义执行(F5键),如: 所选为网址,即打开浏览器访问该网址。 所选为本地文件或文件夹路径,则调用系统资源管理器打开查看。 所选为纯命令如“RegEdit”,则启动系统注册表编辑器。 ● 悬浮窗多功能拖放,实现个性化粘贴。
浏览器调用本地EXE,试用于谷歌浏览器
08-23
通过注册表实现谷歌浏览器调用本地exe,在通过本exe和相应的参数去调用别的exe,这样的好处在于调用不同的exe只要写一次注册表就可以实现。压缩包里有说明文档
windows浏览器调用本地应用程序
08-23
windows;JS;exe;打开应用程序
chrome.exe
04-01
Chrome最大的亮点就是其多进程架构,保护浏览器不会因恶意网页应用软件而崩溃。每个标签、窗口和插件都在各自的环境中运行,因此一个站点出了问题不会影响打开其它站点。通过将每个站点和应用软件限制在一个封闭的...
浏览器启用本地exe应用程序
Front小思的博客
12-12 1567
使用HTM文件:将exe应用程序的路径添加到HTML文件中,然后在浏览器中打开该HTML文件!
web调用本地exe应用
qingtian305的专栏
08-05 579
web 调用本地exe 效果 代码修改注册表 注册表的效果 网页访问url 下面是带参数启动,exe里要在main里接收参数 注意 exe接收的参数要用web的url解码方法才能解析出正确的数据,否则会乱码 节点名称不能有下划线,可以有点,不能包含字符和中文 ...
浏览器调用C++功能
05-25
浏览器通常不能直接调用本地的 C++ 功能,因为 JavaScript 运行在浏览器的沙箱环境中,不能直接访问本地机器的资源。但是,可以通过 WebAssembly 技术将 C++ 代码编译成二进制格式,并在浏览器端加载和执行。 WebAssembly 是一种新型的低级编程语言,可以在浏览器中运行高性能的二进制代码。它的执行速度比 JavaScript 快得多,可以为 Web 应用程序带来更好的性能。在浏览器中使用 WebAssembly,需要将 C++ 代码编译成 WebAssembly 模块,并使用 JavaScript 与之交互。 具体来说,可以使用 Emscripten 工具将 C++ 代码编译成 WebAssembly 模块,然后在 JavaScript 中加载和调用该模块。例如,可以使用以下代码在浏览器调用 C++ 函数: ```javascript // 加载 WebAssembly 模块 fetch('module.wasm') .then(response => response.arrayBuffer()) .then(bytes => WebAssembly.instantiate(bytes)) .then(results => { // 调用 C++ 函数 const add = results.instance.exports.add; const result = add(1, 2); console.log(result); }); ``` 这里的 `add` 函数是 C++ 中定义的两数相加函数,使用 `WebAssembly.instantiate` 方法加载模块并获取 `add` 函数的引用,然后在 JavaScript调用该函数。通过这种方式,就可以在浏览器调用本地的 C++ 函数了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
26
原创
111
点赞
163
收藏
65
粉丝
关注
私信
写文章

热门文章

  • 网页(浏览器)调用本地exe应用软件 9121
  • MySQL错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 3724
  • Navicat连接Linux的MySQL出错排查 2951
  • SpringSecurity集成JWT认证框架 2403
  • List集合里保存对象,存的是什么,是整一个对象,还是一个地址? 2357

分类专栏

  • C语言程序设计学习 5篇
  • 版本管理工具 1篇
  • 日常问题 2篇
  • 解决前Application不能保存cookie问题
  • Vagrant 1篇
  • Linux软件安装 5篇
  • 常用设置 1篇
  • ES语法糖 1篇
  • SpringSecurity+jwt 1篇
  • MySQL安装、配置主从、升级 2篇
  • Mybatis日常问题 2篇
  • 白嫖小技巧 1篇
  • 网页调用本地exe软件 1篇
  • 学习avtiviti6.0 1篇

最新评论

  • MySQL错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    穿行的旅客: 如果设置权限参数失败,注意是不是参数名称的下划线变成了小数点

  • 运行Mybatis报错,Cause: java.lang.ClassNotFoundException: Cannot find class: BaseResultMap

    m0_64140942: 感谢已解决

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • C语言程序设计学习第四天
  • C语言程序设计学习第三天
  • C语言程序设计学习第二天补充
2024年6篇
2023年1篇
2022年15篇
2021年4篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司十堰模板推广推荐南昌网站优化按天扣费报价合肥建站推荐湘潭关键词按天收费报价沙井seo推荐临夏网站建设哪家好保定网页设计公司和田网站推广哪家好宜昌推广网站多少钱宝安seo网站推广价格本溪网站推广公司亳州网站搜索优化哪家好荆州高端网站设计推荐鞍山高端网站设计多少钱大鹏网站建设公司网站建设多少钱安顺关键词排名价格延边网站优化推广哪家好烟台seo优化哪家好济源网站推广工具多少钱雅安企业网站设计公司合肥外贸网站制作报价滨州阿里店铺托管报价塔城网站seo优化南平网站改版推荐孝感模板制作报价聊城seo排名永州网站优化按天收费多少钱伊春SEO按天计费哪家好西乡阿里店铺托管价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化