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


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

    1.添加自定义URL Protocol

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

    1.##Windows Registry Editor Version 5.00

    2.##[HKEY_CLASSES_ROOTSimu]

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

    4.##@="SimuProtocol"

    5.##[HKEY_CLASSES_ROOTSimuDefaultIcon]

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

    7.##[HKEY_CLASSES_ROOTSimushell]

    8.##[HKEY_CLASSES_ROOTSimushellopen]

    9.##[HKEY_CLASSES_ROOTSimushellopencommand]

    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)点击启动程序

  • 相关阅读:
    第三次作业附加
    第三次作业(计算器第一步)
    课程学生列表
    第二次作业
    《面向对象程序设计》第一次作业
    期末总结
    最后的总成绩
    第七次作业
    第六次作业(团队作业)
    第五次成绩
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/3542501.html
Copyright © 2020-2023  润新知