浏览器调用 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. 答疑解惑:解释在Mybatis-Spring下@Mapper与@MapperScan为何不能同时生效以及实现动态条件注册Mapper接口

    若项目中使用了@MapperScan注解后,则@Mapper注解不再生效, 原因是:@MapperScan注解 会执行@Import(MapperScannerRegistrar.class),而Ma ...

  2. abc339 详解

    第一篇整场题解纪念我第一次 AK 的 abc! A #include <iostream> using namespace std; int main(int argc, const ch ...

  3. 如何计算DG环境下Redo传输所需的带宽?

    MOS有篇文章: How To Calculate The Required Network Bandwidth Transfer Of Redo In Data Guard Environments ...

  4. NC22598 Rinne Loves Edges

    题目链接 题目 题目描述 Rinne 最近了解了如何快速维护可支持插入边删除边的图,并且高效的回答一下奇妙的询问. 她现在拿到了一个 n 个节点 m 条边的无向连通图,每条边有一个边权 \(w_i\) ...

  5. Linux进程与线程的基本概念及区别

    前言 假设你正在玩一款在线多人游戏,在游戏中,有多个角色需要进行不同的操作,例如攻击.移动.释放技能等等. 接下来,我们用玩游戏的例子,来解释进程和和线程的概念,以及进程和线程的区别. 进程的基本概念 ...

  6. golang数组&切片&map

    数组 数组声明 func main() { /* 语法一 */ // 数组名字 [数组长度] 数组类型 // 声明一个数组 长度为3 类型是int 会初始化为int类型的零值,默认值是[0 0 0 ] ...

  7. Js模块化导入导出

    Js模块化导入导出 CommonJs.AMD.CMD.ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使复杂系统分解为代码结 ...

  8. Vue+SpringBoot+ElementUI实战学生管理系统-3.表结构设计

    1.章节介绍 前一篇介绍了如何搭建前端工程,这一篇讲一下表结构设计,需要的朋友可以拿去自己定制.:) 2.获取源码 源码是捐赠方式获取,详细请QQ联系我 :)! 3.项目截图 登录页 列表操作 动态图 ...

  9. eclipse解决maven不自动下载jar包问题

    今天在eclipse中import一个maven项目,由于我手工中断了相关pom.xml中配置的jar包下载. 导致项目找不到一些jar包.具体错误见下图: 原因就是有些jar包下载没有完成导致的. ...

  10. mysql进阶语句优化---day40

    # ###part1: sql语句优化 #(1) mysql 执行流程 客户端: 发送连接请求,然后发送增删改查sql语句进行执行 服务端: 1.连接层:提供和客户端连接的服务,在tcp协议下 提供多 ...