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

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

1.添加自定义URL Protocol

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

1.##Windows Registry Editor Version 5.00

2.##[HKEY_CLASSES_ROOT\Simu]

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

4.##@="SimuProtocol"

5.##[HKEY_CLASSES_ROOT\Simu\DefaultIcon]

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

7.##[HKEY_CLASSES_ROOT\Simu\shell]

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,双击该文件即可直接导入到注册表中。如下图:

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

 

如果本机装有QQ,也可以从QQ的注册表里得实例。

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

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

    调用协议很简单,就是一个链接即可,如下所示:

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

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

    效果如下图所示:

(1)web页面

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

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

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

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

上一篇:Spring MVC视图层:thymeleaf vs. JSP


下一篇:【.NET 4.5】新增的 Prefer 32-bit target platform