web打开windows本地程序(高级版)

参考了博主的文章:https://blog.csdn.net/chenlu5201314/article/details/108855574

但鸡肋的是还要自己开发本地程序。我就是简单调用电脑已安装数据库连接软件并传递连接信息,让自动连接上。方便快速开发测试。

这种疑难杂症还需要定力,坐不住的人早早下班回家了。

解决思路:利用windows powershell传参调数据库连接客户端exe

解决过程

1,编写注册表reg文件:calldbeaver.reg

最后一行的写法是难点。截取前24位“WinURLProtocolDBeaver://”前缀。删除最后一个字符“/”后缀,才能通过1%获得-con "driver=oracle|port=1521|user=sys|password=123456|host=192.168.110.67|database=orcl|prop.internal_logon=sysdba" -bringToFront

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinURLProtocolDBeaver]
@="WinURLProtocolDBeaver"
"URL Protocol"="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinURLProtocolDBeaver\DefaultIcon]
@="\"C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe\",0"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinURLProtocolDBeaver\shell]
@=""
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinURLProtocolDBeaver\shell\open]
@=""
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinURLProtocolDBeaver\shell\open\command]
@="\"C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe\" -Command \"$a=([System.Net.WebUtility]::UrlDecode(\\\"%1\\\"));$a=$a.Substring(0, $a.Length - 1).Substring(24); Start-Process -FilePath \\\"C:\\Program Files\\DBeaver\\dbeaver.exe\\\" -ArgumentList @($a)\""

2,双击运行、成功导入注册表

3,编写html

<!DOCTYPE html><html>
<head>
<script>
function test()
{
  var url = "WinURLProtocolDBeaver://";
   url += encodeURI('-con "driver=oracle|port=1521|user=sys|password=123456|host=192.168.110.67|database=orcl|prop.internal_logon=sysdba" -bringToFront');
   window.location.href = url;
   console.info(window.location.href)
}
</script>
</head>
<body>
<button onclick="test()" text="dddd">打开DBeaver程序</button><br/>
<a href="WinURLProtocolDBeaver://-con%20%22driver=oracle%7Cport=1521%7Cuser=sys%7Cpassword=123456%7Chost=192.168.110.67%7Cdatabase=orcl%7Cprop.internal_logon=sysdba%22%20-bringToFront">打开DBeaver程序1</a><br/>
<a href="WinURLProtocolWireshark://">打开Wireshark程序</a><br/>
</body>
</html>

分两种写法,onclick js中动态传参和固定写在href里的。

4,运行html

5, 成功打开数据库连接客户端并自动连接好数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值