[转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法

这个方法主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol以后,会寻找注册表,而后经过注册表启动相应的程序,而后启动改程序,传入参数。对于我这个项目而言,主要思路是利用这个自定义URL Protocol的方法,打开一个c#的应用程序,在这个程序中再调用系统命令,打开jar应用程序,并传入参数。主要实现步骤以下:web

1.添加自定义URL Protocolshell

#####################################################################################c#

1.##Windows Registry Editor Version 5.00浏览器

2.##[HKEY_CLASSES_ROOT\Simu]工具

3.##"URL Protocol"="x:\\simu\\Simulink.exe"3d

4.##@="SimuProtocol"blog

5.##[HKEY_CLASSES_ROOT\Simu\DefaultIcon]文档

6.##@="x:\\simu\\Simulink.exe,1"字符串

7.##[HKEY_CLASSES_ROOT\Simu\shell]it

8.##[HKEY_CLASSES_ROOT\Simu\shell\open]

9.##[HKEY_CLASSES_ROOT\Simu\shell\open\command]

10.##@="\"x:\\simu\\Simulink.exe\" \"%1\""

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

        在#内的为自定义URL Protocol的注册表信息,我对每一行说明一下:第一行是注册表工具的版本信息,能够本身改一改,或者本身导入任意一个注册信息,把这一行复制过来就好了;第二行中的Simu就是在HKEY_CLASSES_ROOT下面添加一个Simu树,其中Simu的名称就对应着自定义URL Protocol的名称,在web中调用的时候须要这个名称;第三行中的"x:\\simu\\Simulink.exe"是指定应用程序的路径,注意只能是exe的程序;第四行是协议的名称,能够是任意字符串,后面不会用到;第五行表示在Simu中再加一个分支,照抄,不用管;第六行中的x:\\simu\\Simulink.exe也是对应的程序路径,后面的1照抄;第七行同第五行;第八行同第五行;第九行同第五行;第十行也是将路径换成本身的程序路径便可,其中%1表示到参数,参数能够在你的程序simulink.exe中解析获得。分析毕。

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

 

若是本机装有QQ,也能够从QQ的注册表里得实例。

3.在web中调用自定义协议启动程序

    调用协议很简单,就是一个连接便可,以下所示:

<a href="Simu://hello">SIMU</a>

    须要指出的是:在标题1中的第10行注册表中代码中的%1表示传入参数,就是对应这此处的Simu://hello,解析以后就能够获得参数hello了。

    效果以下图所示:

(1)web页面


(2)点击以后


(3)点击启动程序

相关文章
相关标签/搜索