美文网首页
在网页调起windows本地应用

在网页调起windows本地应用

作者: 叶迎宪 | 来源:发表于2021-01-25 22:02 被阅读0次

    主要参考
    https://zhuanlan.zhihu.com/p/66145921

    不过这个里面没有提及到,如何向本地应用传递参数。最简单的一种方式,就是把url通过命令行传递给应用程序。稍微改一下注册表文件

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\ptl]
    @="URL:ptl Protocol Handler"
    "URL Protocol"=""
    [HKEY_CLASSES_ROOT\ptl\shell]
    [HKEY_CLASSES_ROOT\ptl\shell\open]
    [HKEY_CLASSES_ROOT\ptl\shell\open\command]
    @="E:\Projects\test\Debug\test.exe  \"%1\""
    

    修改一下调用的网页

    <body>
        <a href="ptl://123">tim</a>
    </body>
    

    写一个最简单的命令行程序test.exe作为测试

    int main(int argc, char *argv[])
    {
        printf("%d %s", argc, argc > 1 ? argv[1] : argv[0]);
    
        int i;
        scanf("%d", &i);
    }
    

    加入scanf一行是防止程序一下子退出了,看不到printf结果。运行结果为

    2 ptl://123/

    似乎系统总会在url的最后加上一个“/”。不过url传参方式,对参数的长度有限制,不能传太长。要传更多的参数,最好在exe程序起一个websocket的服务端,和网页进行websocket通信

    相关文章

      网友评论

          本文标题:在网页调起windows本地应用

          本文链接:https://www.haomeiwen.com/subject/ncxwzktx.html