通用網頁呼叫本地應用程式方案(windows平臺)

小龍女先生發表於2017-05-15

一、更新登錄檔

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>

相關文章