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

时间:2022-04-22
本文章向大家介绍通用网页调用本地应用程序方案(windows平台),主要内容包括一、更新注册表、二、创建一个应用、三、创建一个网页、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

一、更新注册表

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTreceiveOutOfArg]
"URL Protocol"="D:\LongHaibin\Learn\Net\receiveOutOfArg\receiveOutOfArg\bin\Debug\receiveOutOfArg.exe"
@="applicationName"
[HKEY_CLASSES_ROOTreceiveOutOfArgDefaultIcon]
@="D:\LongHaibin\Learn\Net\receiveOutOfArg\receiveOutOfArg\bin\Debug\receiveOutOfArg.exe,1"
[HKEY_CLASSES_ROOTreceiveOutOfArgshell]
[HKEY_CLASSES_ROOTreceiveOutOfArgshellopen]
[HKEY_CLASSES_ROOTreceiveOutOfArg13:14 2017/5/11shellopencommand]
@=""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>