通用网页调用本地应用程序方案(windows平台)

一、更新注册表

复制代码
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\receiveOutOfArg]
"URL Protocol"="D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe"
@="applicationName"
[HKEY_CLASSES_ROOT\receiveOutOfArg\DefaultIcon]
@="D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe,1"
[HKEY_CLASSES_ROOT\receiveOutOfArg\shell]
[HKEY_CLASSES_ROOT\receiveOutOfArg\shell\open]
[HKEY_CLASSES_ROOT\receiveOutOfArg13:14 2017/5/11\shell\open\command]
@="\"D:\\LongHaibin\\Learn\\Net\\receiveOutOfArg\\receiveOutOfArg\\bin\\Debug\\receiveOutOfArg.exe\" \"%1\""
复制代码

说明:

  • applicationName:表示网页打开时提示的名称
  • "%1":表示要传递的参数,只是%1,\":表示的是转义字符

二、创建一个应用

以下是c#应用程序的代码: 入口位置:

复制代码
static class Program
{
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1(args));
    }
}
复制代码

窗体代码:

复制代码
public partial class Form1 : Form
{
    private string[] args;

    public Form1(string[] args)
    {
        this.args = args;
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.label1.Text = string.Join(",", this.args);
    }
}
复制代码

三、创建一个网页

网页用a标签调用即可:

<a href="receiveOutOfArg://abc">open</a>
posted @   小龙女先生  阅读(800)  评论(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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示