如何在网页上开启Windows OS的应用程序

需求

最近有项目需要用到在网页的管理系统点击设备标识,开启远程桌面的需求,其要求就是能点击之后启动开启远程桌面应用程序,想想其实不难,原本准备使用java Applet来实现,但是绕了 一圈发现applet现在狠多浏览器不再兼容,使用起来确实麻烦。后来决定用如下方式实现。

注册表自定义浏览器协议

基本思路参见博客:https://blog.csdn.net/zhuolei123/article/details/50470982

编写注册表编辑文件

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\rdp]
"URL Protocol"="D:\\app\\rdp.exe"
@="RdpProtocol"

[HKEY_CLASSES_ROOT\rdp\DefaultIcon]
@="D:\\app\\rdp.exe,1"

[HKEY_CLASSES_ROOT\rdp\shell\open\command]
@="\"D:\\app\\rdp.exe\" \"%1\""

注意其中的空行不能少,其中@打头表示注册表项的默认值,路径一定要使用双斜杆\\否则不能插入项成功,脚本运行时也不能正确报错。

编写RDP.exe

其实为什么需要用到自己写一个exe程序啦,问题在于,注册表方式传参的时候他会把整个浏览器地址的内容全部传入例如

rdp://127.0.0.1

在调用应用程序时,应用程序收到的参数是整个字符串rdp://127.0.0.1。如果我们直接用mstsc.exe 那他获取到的参数就会错误,无法识别
为了简化安装,所以考虑比较简单的语言,且与windows兼容较好的语言来实现。且我们本身要在exe上做的功夫比较少,所以我们想到了用winc的Win32库来实现一个exe或则用vbs。exe只需要丢过去就好了。后来想来最简单应该是vbs好些,最后选择采用VBS来实现

Dim ip
set args=Wscript.Arguments
ip = right(args(0) , len(args(0))-6)
set objWsh = CreateObject("WScript.Shell")
ip = replace(ip,"/","")
objWsh.Exec "mstsc -v "& ip

最后很遗憾,如果直接使用vbs浏览器还调用不上来。最后只能将vbs to exe了。

VBS TO EXE

下载一个应用程序教 vbs to exe来操作就好了。下载地址:https://download.csdn.net/download/maoye/10681056

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值