浏览器打开SAP GUI
背景
最近在做一个内部导航网站,需要直接从导航站打开SAP的GUI程序,当然打开SAP WebGUI 并不需我们所需要的结果,所以如何通过浏览器打开exe程序,首选由于目前的浏览器chrome内核已经普及,IE11之前的浏览器基本上已经被抛弃,所以想到了写chrome插件,通过插件监听浏览器网址点击来打开启动本地程序.
不过经过试验,这一方法还是有弊端,需要用户主动去安装插件,这个会比较麻烦,然后突然想起了为什么以前的驴子迅雷可用通过浏览器点击下载打开下载界面,所以搜索了相关关键字,终于找到了自定义URL Protocol调用Winfrom程序(exe)并实现传值的相关资料,
定义标识 打开程序
但是如何做呢?
首先,注册一个protocol-handler(就是写入一段代码到注册表)直接给出代码,就不一一赘述了
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\sapprd]
"URL Protocol"=""
@=""
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell]
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell\Open]
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell\Open\command]
@="\"C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\saplogon.exe\""
这时候我们已经定义了一个url标记sapprd
,那么我们如何在网页中调用?
<a href="sapprd://open">SAP GUI</a>
注意,其中sapprd
要和第一步中的协议名一致,第二个为参数,在Winform程序中会用到。
点击连接,浏览器就会提示打开界面如下:
这时候点击打开即可
自动登录SAP GUI
但是我们有时候想打开的对应的程序如何解决,显然上面的注册表是不够的,所以又研究了一下
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\sapprd]
"URL Protocol"=""
@=""
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell]
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell\Open]
[HKEY_CURRENT_USER\Software\Classes\sapprd\Shell\Open\command]
@="\"C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\sapshcut.exe\" -user=账号 -pw=123456 -language=ZH -SYSTEM=PRD_172.16.41.103 -CLIENT=800 -sysname=PRD_172.16.41.103 -maxgui"
这样自定义后,PRD_172.16.41.103
为GUI界面上连接的名称如下:
对应的 -user=账号
和-pw=123456
设置为自己的账号密码即可
这样点击后即可打开对应的界面,无需再输入账号密码
至此已经完成了相关的配置!