浏览器调用 exe ?    Yes! 

谷歌 Chrome 启动微软 Edge ?     Yes!

RunOnWeb 协议

创建新协议,支持html调用本地可执行文件,支持浏览器互相调用

【最新版本】:Ver 1.0.0

【更新日期】:2024.3.15

【作者】:阿色

【下载】

点击下载 RunOnWeb 协议安装程序 及 源文件:https://files.cnblogs.com/files/BigSystemsView/RunOnWeb_V_1_0_0_%E5%8F%91%E5%B8%83%E6%96%87%E4%BB%B6%E5%8C%85.zip?t=1710478574&download=true

* 本文更新可能不及时,以下载文件包为准

'***************************************** 【 RunOnWeb 网络协议, 支持浏览器 HTML 调用本地可执行文件】 *************************************
' 【版权与免责声明】

' ① 本软件为开源软件,可自由拷贝,自由使用,自由分享,自由修改,自由发布。
' ② 作者不对使用者因使用本软件而对其自身或其他任何人所造成的任何伤害或损失负责?开始使用本软件即表示使用者接受此约定。
' ③ 作者拥有对于本软件的最终解释权?
'
' 【联系信息】
' 本软件不自动更新,安装文件、更新文件、源文件和交流信息等可通过【大系统观开放论坛】微信公众号或网站 www.holomind.com.cn 获得。
'
'
' 【版本】:1.0.0
'
' 【更新日期】:2024.3.15
'
' 【作者】:阿色
'
' 【功能】:创建一个新的协议,名叫 RunOnWeb,该协议支持在浏览器中使用 html 调用本地的可执行文件,如EXE等,也可实现各种浏览器互相调用。
' 创建协议注册表信息。
' 创建协议处理程序 RunOnWeb.exe 文件,默认存储在 C:\RunOnWeb 文件夹,亦即安装路径。
'
' 【运行环境】:MicroSoft Windows 10 测试通过
'
' 【安装】
' ① 显式安装:执行 RunOnWeb_Setup.exe,默认安装目录为 C:\RunOnWeb
' ② 静默安装:执行 RunOnWeb_Setup.exe /S,安装过程不显示,可用操作系统命令行或其他程序调用
'
' 【用法】:编译:源程序应编译为 RunOnWeb_Setup.exe,该文件为安装程序,会在安装时生成协议处理程序 RunOnWeb.exe
' 引用方式:使用关键字 runonweb:// ,与 http 等其他网络协议采用相同方式。
' RunOnWeb 协议与 http 等协议使用方式类似:在 html 文件中使用链接启动。主要有2种形式:
'
' ① <a> 标签形式:
' <a href="runonweb://C:\Windows\System32\notepad.exe t1.txt">打开记事本</a>
'
' ② <button> 标签形式:
' <button onclick="window.location.href='runonweb://C:\\Windows\\System32\\notepad.exe t1.txt';">打开记事本</button>
'
' 上述链接中 RunOnWeb 协议名称不区分大小写,//一般可以省略。<button> 标签形式的路径需使用 \\ 。
' 其他链接方式仿照 http 即可。
' 确保路径完全、正确。为减少干扰,调用过程中不提示错误。
'
' 【html示例文件】:RunOnWebExam.html。安装时会生成该文件,这是一个测试文件,内容大致如下:
' <!DOCTYPE html>
' <!-- 本文件由 RunOnWeb 安装测试程序自动生成 时间:[2024/3/15 12:02:27] -->
' <html>
' <head>
' <title>RunOnWeb 测试页</title>
' </head>
' <body>
' <center>
' <br /><br /><br />
' RunOnWeb 测试页
' <br /><br /><br />
' ★ 运行您设定的本地可执行程序 ★<br /><br />
' 命令行:C:\Windows\System32\notepad.exe t1.txt<br /><br />
' &lt;a&gt; 标签形式:
'
' <!--**********************************************************************************************-->
' <!--**********************************************************************************************-->
' <!--*******************************【 看这里!!! Look here! 】**********************************-->
' <!--*******************************【 RunOnWeb 使用方法 】**********************************-->
' <!--************************************ <a> 标签形式 ******************************************-->
' <a href="runonweb:C:\Windows\System32\notepad.exe t1.txt">Go!</a>
' <br />
' &lt;button&gt; 标签形式:
'
' <!--********************************** <button> 标签形式 **************************************-->
' <!--***********************【注意】此处路径中的 \ 需要写两个,即 \\ **************************-->
' <button onclick="window.location.href='runonweb:C:\\Windows\\System32\\notepad.exe t1.txt';">Go!</button>
'
' <!--***********【注意】确保路径完全、正确。为减少干扰,调用过程中不提示错误。 ***********-->
' <!--**********************************************************************************************-->
' <!--**********************************************************************************************-->
'
' <br /><br />------------------------------------------------------<br /><br />
'
' ★ 浏览器互相调用 ★<br /><br />
'
' <!--********************************** 以下为浏览器互相调用 **************************************-->
' 谷歌 Google Chrome:
' <button onclick="window.location.href='runonweb:C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe www.sina.com.cn';">Go!</button> <br />
'
' 微软 Edge:
' <button onclick="window.location.href='runonweb:C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe www.sina.com.cn';">Go!</button> <br />
'
' 微软 IE:
' <button onclick="window.location.href='runonweb:C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe www.sina.com.cn';">Go!</button> <br />
'
' 360 SE:
' <button onclick="window.location.href='runonweb:C:\\Users\\Administrator\\AppData\\Roaming\\360se6\\Application\\360se.exe www.sina.com.cn';">Go!</button> <br /><br />
'
' 因各浏览器安装路径差异,上述设置的链接可能错误。<br />
' 可在 RunOnWeb 安装程序的【第2步】测试程序文本框中,准确设置浏览器 EXE文件的完全路径。<br />
' 然后点击【确定】重新生成本测试页文件,再点【浏览器查看示例】,<br />再点击页面中 &lt;a&gt; 标签形式 或 &lt;button&gt; 标签形式 后的链接。
'
' <br /><br />------------------------------------------------------<br /><br />
'
' ★ 避免浏览器询问 ★<br /><br />
'
' 当浏览器询问:“要打开 RunOnWeb... 吗?”<br />
' 先选中【始终允许...】,再点按钮【打开 RunOnWeb...】,这样以后将不再询问。<br />
' IE的询问方式稍有差异: 不选【打开此类地址前总是询问】即可?
'
'
' </center>
' </body>
' </html>

'
'*******************************************************************************************************************************************
'*******************************************************************************************************************************************
'*******************************************************************************************************************************************

【最新版本】:Ver 1.0.0

【更新日期】:2024.3.15

【作者】:阿色

【下载】

点击下载 RunOnWeb 协议安装程序 及 源文件:https://files.cnblogs.com/files/BigSystemsView/RunOnWeb_V_1_0_0_%E5%8F%91%E5%B8%83%E6%96%87%E4%BB%B6%E5%8C%85.zip?t=1710478574&download=true

* 本文更新可能不及时,以下载文件包为准

RunOnWeb - 创建新协议,支持html调用本地可执行文件,支持浏览器互相调用的更多相关文章

  1. mysql创建新用户及新用户不能本地登陆的问题

    最近在搭建hadoop集群,主节点上面安装的MySQL数据库,对着方面不熟悉,为hive.Ooize等服务统一使用的root账号和密码,为了安全一些库对于某些用户是不可见的,所以需要针对不同的服务设置 ...

  2. python与java的内存机制不一样;java的方法会进入方法区直到对象消失 方法才会消失;python的方法是对象每次调用都会创建新的对象 内存地址都不i一样

    python与java的内存机制不一样;java的方法会进入方法区直到对象消失 方法才会消失;python的方法是对象每次调用都会创建新的对象 内存地址都不i一样

  3. java命令行调用本地文件协议hikvideoclient://

    最近在做一个视频项目,项目中需要通过调用海康本地协议打开视频播放器,起初尝试通过Process/ProcessBuilder无解,因为这个是调用本地应用程序的. 我要调用的是本地伪协议,最终通过一些研 ...

  4. Eclipse本地创建新的GIT分支,并推送至远程Git分支

    本地创建新的GIT分支: 1.右击要创建新分支的项目——Team——Switch To——New Branch…: 2.在弹出的对话框中name框中输入要创建的分支名称,(如果是当前显示的要拷贝的分支 ...

  5. 怎么处理sqlserver2017部署在winowsDocker上时区无法修改成功的方式,并且可以多创建新的容器调用简单的方式直接使用!

    在创建该容器的时候我们执行的语句中添加了一个 从图中所看到的内容,上海时区,按照正常流程一般都是可疑正常执行的,但最后事情并不是我们所想的那么简单. 我们进入对应的容器里面 ,执行语句之后查找对应的文 ...

  6. u-boot 移植(二)创建新平台的板级支持

    u-boot 移植(二)创建新平台的板级支持 soc:s3c2440 board:jz2440 uboot:u-boot-2016.11 toolchain:gcc-linaro-7.4.1-2019 ...

  7. git本地创建新分支并推送到远程仓库

    1,在当前项目目录,从已有的分支创建新的分支(如从master分支),创建一个dev分支 git checkout -b dev 2,创建完可以查看一下,分支已经切换到dev git branch * ...

  8. 【问题记录】— web页面调用本地程序

    起因: 最近由于项目需要在web页面中调用本地部署的exe程序:进而对该功能实现做了对应了解:以及存在的问题进行记录. 要实现该功能就不得不说浏览器自定义协议:解决办法:那么它是什么呢? 浏览器自定义 ...

  9. java如何调用本地扬声器

    各位看官可以关注博主个人博客,了解更多信息. 作者:Surpasser 链接地址:https://surpass.org.cn 前言 博主的毕设系统在做一个餐厅的点餐管理系统,在记性移动端页面开发的时 ...

  10. docker2-镜像原理及创建新的镜像

    1,镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件 在docker中所有应用 ...

随机推荐

  1. CF911G Mass Change Queries 题解

    题目链接:CF 或者 洛谷 前置知识点:平衡树合并: CF文章 与维基百科 看上去这题有很多人用线段树分裂与合并去做,其实这种需要分裂和合并的,我们用文艺平衡树去维护区间信息是最容易写的. 考虑本题的 ...

  2. 从零开始的react入门教程(八),redux起源与基础用法

    壹 ❀ 引 我们在从零开始的react入门教程(七),react中的状态提升,我们为什么需要使用redux一文中介绍了react的状态提升,对于不同组件之间状态需要通信时,将状态提升至两个组件共有的最 ...

  3. 优先队列(PriorityQueue)常用方法及简单案例

    1 前言 PriorityQueue是一种特殊的队列,满足队列的"队尾进.队头出"条件,但是每次插入或删除元素后,都对队列进行调整,使得队列始终构成最小堆(或最大堆).具体调整如下 ...

  4. Js遍历对象总结

    Js遍历对象总结 Js遍历对象的方法主要有for in.Object.keys().Object.getOwnPropertyNames().Reflect.ownKeys().Object.getO ...

  5. SpringCloud Bus动态刷新中心化配置

    说明 上一篇我们介绍了配置中心实战,并留下了一个配置修改后如何实现自动刷新的问题,下面就实际操作一下,首先是手动刷新单个微服务,其次是利用消息总线实现全部刷新. 手动动态刷新 动态刷新是当远程配置文件 ...

  6. maven打包时打包指定的lib文件夹

    今天在打包自己的spring boot项目时遇到了问题, 报找不到类和符号. 因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包. 修改pom.xml, 添加一下内容: <b ...

  7. Redis能保证数据不丢失吗?

    大家即使没用过Redis,也应该都听说过Redis的威名. Redis是一种Nosql类型的数据存储,全称Remote Dictionary Server,也就是远程字典服务器,用过Dictionar ...

  8. DVWA XSS

    XSS Store hign level <?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $message = trim( $_P ...

  9. SQL Server使用常见问题

    普通分页查询 三种方式: Top Not IN 方式:查询靠前的数据较快 ROW_NUMBER() OVER()方式:查询靠后的数据速度比上一种较快,在老版本的SQL Server中最常使用 offs ...

  10. ubuntu18.04下安装MySQL5.7

    更新源 sudo apt update 安装mysql sudo apt install mysql-server 使用sudo mysql进入数据设置root账户的密码和权限 sudo mysql ...