文档章节

浏览器调用exe,bat等本地程序

 杨辉_0716
发布于 2018/08/02 14:19
字数 352
阅读 47
收藏 0

参考文章:https://blogs.msdn.microsoft.com/ieinternals/2011/07/13/understanding-protocols/

浏览器调用客户端的程序。(以调用secureCRT为例)

以下内容创建注册表:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\yourname]
@="Url:yourname Protocol"
"URL Protocol"="D:\\Program Files\\SecureCRT\\SecureCRT.exe"
"UseOriginalUrlEncoding"=dword:00000001

[HKEY_CLASSES_ROOT\yourname\DefaultIcon]
@="D:\\Program Files\\SecureCRT\\SecureCRT.exe,1"
[HKEY_CLASSES_ROOT\yournamet\shell]
[HKEY_CLASSES_ROOT\yourname\shell\open]
[HKEY_CLASSES_ROOT\yourname\shell\open\command]
@="\"D:\\Program Files\\SecureCRT\\SecureCRT.exe\" \"%1\""

页面调用的时候写:

<a href="yourname:///param1">

注意注册表的这一句:

@="\"D:\\Program Files\\SecureCRT\\SecureCRT.exe\" \"%1\""

有些blog的说明:%1是去掉自定义协议头的参数部分。比如示例中的页面代码,%1 是去掉  yourname:// 留下的  “/param1”

但是,个人测试结果:传递的是yourname:///param1也就是整个URL,而且ff、chrome,还对url进行了urlEncode,空格转化为%20

(注册表里的UseOriginalUrlEncoding = 1,起的作用是能让encode采取统一的格式,详细说明请参见篇头的文章)

好~~问题来了:

比如调用 SecureCRT.exe /SSH2 /L root /P 22 /PASSWORD xxxxx 1.1.1.1

SecureCRT.exe  yourname:///SSH2 /L root /P 22 /PASSWORD xxxxx 1.1.1.1

或者

SecureCRT.exe  yourname:///SSH2%20/L%20root%20/P%2022%20/PASSWORD%20xxxxx%201.1.1.1

我的办法是写了一个bat,注册表指向它,他再解析参数,调用secureCRT

有没有更好的方法?

© 著作权归作者所有

粉丝 0
博文 5
码字总数 2227
作品 0
昌平
程序员
私信 提问
selenium Grid 分布式调试IE、FireFox、Chrome

为什么使用selenium grid: 如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的solution就是使用grid.selenium-grid是用于设计帮...

丰_申
2016/09/22
75
0
一键运行R脚本

你平时都是怎么运行你的R脚本的呢?是打开R还是打开Rstudio再运行你的R脚本的呢?你不觉得这样很麻烦吗?今天就给你教一招,简单方便,也不用修改环境变量,让你的脚本像启动程序一样,点一下...

wzgl__wh
2017/08/11
0
0
java 调用exe程序挂起

最近在做一个java工具,java多线程执行bat文件, 每个bat文件又会调用两个exe文件(a.exe | b.exe)。 每一个线程单独执行一个bat文件。线程执行bat文件。 因为数据量很大,活执行很多次bat...

ifso
2015/07/23
506
1
KBEngine 编译、运行、调试

官方推荐在 Windows 下编译运行,我也就不在 Linux 下折腾了。 服务器代码编译 在虚拟机里装了个 windows,再安装 VS 2013 。(2016.02.03,官方说支持 VS 2015,但我测试下来 VS 2015 会报 ...

sailtseng
2016/02/18
207
0
【问题】Tomcat中 执行tomcat7.exe报错

The system cannot find the Registry key for service 'tomcat7' 问题: 在启动解压后的tomcat7,点击bin下面的tomcat7.exe失败了,报错“The system cannot find the Registry key for ser......

xiaoxiaomo
2015/01/21
228
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux 性能分析利器 -火焰图 flame graph

简述 Perf 命令(performance的简写)是 Linux 系统原生提供的性能分析工具,返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数...

呼呼南风
15分钟前
2
0
 好程序员大数据知识点精讲 大数据之Linux

好程序员大数据知识点精讲 大数据之Linux -Linux是什么? Linux是一套作业系统,不是应用程序Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。 Shell——命令行解...

好程序员IT
19分钟前
1
0
mysql 多行结合

select a1.email as email ,a1.bg ,IFNULL(a1.bg, a2.bg) from ( select * from test01 where sdate = '2019-09-11' ) a1 LEFT join (select * from test01 where sdate = '2019-09-10') a2 ......

昏鸦
20分钟前
1
0
Netflix Eureka 续约 & 更新注册表信息

Eureka Client 要定期的向 Eureka Server 发送心跳请求以保持续约的状态。 也需要定期的从 Eureka Server 获取服务注册表数据,并将服务注册表数据缓存在客户端实例内。 Eureka Client 续约 ...

BryceLoski
24分钟前
15
0
IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK

要想开发Java程序,就需要知道什么是JVM、JRE以及JDK。JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的关系。 1.J...

老码农的一亩三分地
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部