首页 > 代码库 > 通用网页调用本地应用程序方案(windows平台)

通用网页调用本地应用程序方案(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>

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