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

比如,自定义协议名称为 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 的效果如下:

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

posted on   大豆男生  阅读(1436)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2006-11-30 ASP.NET模拟其他用户进行关机

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示