通过自定义URL协议在Web网页中启动CS程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011365716/article/details/84995968

        在项目交互中涉及到各种各样的对接,如bs系统与cs系统对接(这里特指bs系统作为门户,进入cs系统,cs系统中又调用展示bs页面,二bs页面又有session限制)

        下面我主要介绍一种现在主流的处理方法,这种方法在网上的其他地方也有,但是都是转来转去,而且写得不详细,对于初学者来说,很难看懂,并仿照着处理。所以这篇文章不算原创,只能说是对网上的文章进行详细说明,便于大家使用和仿照。

        这个方法主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数(sessionid)。

1.添加自定义URL Protocol

#####################################################################################

1.##Windows Registry Editor Version 5.00 //注册表工具的版本信息

2.##[HKEY_CLASSES_ROOT\Simu]   //在HKEY_CLASSES_ROOT下面添加一个Simu树,其中Simu的名称就对应着自定义URL Protocol的名称,在web中调用的时候需要这个名称

3.##"URL Protocol"="x:\\cadd\\Cadd.exe"  //指定应用程序的路径,注意只能是exe的程序

4.##@="CaddProtocol"  //协议的名称,可以是任意字符串,后面不会用到

5.##[HKEY_CLASSES_ROOT\Cadd\DefaultIcon]   //再加一个分支,照抄,不用管

6.##@="x:\\cadd\\Cadd.exe,1"  //对应的程序路径,后面的1照抄

7.##[HKEY_CLASSES_ROOT\Caddshell]  //同第五行

8.##[HKEY_CLASSES_ROOT\Caddshell\open]  //对应的程序路径

9.##[HKEY_CLASSES_ROOT\Cadd\shell\open\command]  //对应的程序路径

10.##@="\"x:\\cadd\\Cadd.exe\" \"%1\""  //径换成自己的程序路径即可,其中%1表示到参数(如sessionid),参数可以在你的程序Cadd.exe中解析得到

#####################################################################################

       将#之间的内容复制到一个txt文档中,修改后缀名为.reg,双击该文件即可直接导入到注册表中。

猜你喜欢

转载自blog.csdn.net/u011365716/article/details/84995968