自学内容网 自学内容网

HTML启动本地EXE的通用方法

HTML启动本地EXE的通用方法

  • 技术思路

    • 1、在注册表HKEY_CLASSES_ROOT下添加键值。
    • 2、通过调用注册表来启动一个用以启动其他应用的批处理。
    • 3、编写一个可以根据输入的应用程序路径参数,启动应用的批处理程序。
  • 实施示例

    • 修改注册表

        Windows Registry Editor Version 5.00
        [HKEY_CLASSES_ROOT\LocalAppStarter]
        @="URL:LocalAppStarter"
        "URL Protocol"=""
        
        [HKEY_CLASSES_ROOT\LocalAppStarter\DefaultIcon]
        @="D:\\Chrome\\Application\\chrome.exe,1"
        
        [HKEY_CLASSES_ROOT\LocalAppStarter\shell]
        
        [HKEY_CLASSES_ROOT\LocalAppStarter\shell\open]
        
        [HKEY_CLASSES_ROOT\LocalAppStarter\shell\open\command]
        @="D:\\LocalAppStarter.bat %1"
      
    • 编写启动本地EXE的批处理脚步LocalAppStarter.bat

        @echo off
        echo "启动批处理" %1
        echo "路径" %2
        set exepath=%2
        
        setlocal enabledelayedexpansion
        #由于是通过URL传过来的参数,路径中的空格会被编码成%20
        #将路径中%替换为下划线
        set "exepath=!exepath:%%=_!"
        #将路径中的_20替换为空格
        set "exepath=!exepath:_20= !"
        #将路径中的//替换为/
        set "exepath=!exepath://=/!"
        #使用start 启动本地应用
        start "" "!exepath!"
        
        endlocal
        exit
      
    • 编码HTML启动本地应用

        <html>
          <head>
            <meta charset="UTF-8">
            <title>启动本地应用</title>
          </head>
          <body>
            <a href='LocalAppStarter://WeChat,D://Program Files (x86)//Tencent//WeChat//WeChat.exe'>WeChat</a>
            <a href='LocalAppStarter://QQ,D://Program Files (x86)//Tencent//QQ//QQ.exe'>QQ</a>
          </body>
        </html>  
      
  • 参考
    - 通过html页面调用本地exe程序


原文地址:https://blog.csdn.net/wbf810207/article/details/140607937

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!