欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用浏览器自定义协议启动本地程序(.EXE文件)

程序员文章站 2023-03-31 18:46:00
比如,自定义协议名称为 myapp,要启动的本地程序为 myapp.exe。 1)首先向注册表添加如下内容: 2)用 VS 写一个本地程序 myapp.exe。我这里写的是一个WPF程序: 3)在 web 页面启动 myapp.exe 4) 在浏览器地址栏录入 myapp://openAppTest ......

比如,自定义协议名称为 myapp,要启动的本地程序为 myapp.exe。

1)首先向注册表添加如下内容:

windows registry editor version 5.00

[hkey_classes_root\myapp]
@=""
"url protocol"=""

[hkey_classes_root\myapp\defaulticon]
@="myapp.exe,1"

[hkey_classes_root\myapp\shell]

[hkey_classes_root\myapp\shell\open]

[hkey_classes_root\myapp\shell\open\command]
@="\"d:\\myapp.exe\" \"%1\""

2)用 vs 写一个本地程序 myapp.exe。我这里写的是一个wpf程序:

private void window_loaded(object sender, routedeventargs e)
{
    textblock1.text = string.empty;
    string[] args = environment.getcommandlineargs();
    foreach (var arg in args)
    {
        textblock1.text += arg + "\r\n";
    }
}

3)在 web 页面启动 myapp.exe

function myapptest() {
    window.location = 'myapp://openapptest';
}

4) 在浏览器地址栏录入 myapp://openapptest 也可以启动 myapp.exe

 

启动 myapp.exe 的效果如下:

使用浏览器自定义协议启动本地程序(.EXE文件)

myapp.exe 会获取到命令行参数:myapp://openapptest/