在此,以添加"aricc”協議為例。
一、首先,編寫一個支援aricc協議的程式。我們就使用C#來寫一個樣本程式吧。
1、建立一個windows應用程式。
2、在Form表單上添加一個TextBox控制項。
3、修改Form.cs代碼為如下所示:
public partial class Form1 : Form
{
public string cmd;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = this.cmd;
}
}
4、修改Program.cs中的主入口函數
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 mainForm = new Form1();
if (args.Length > 0)
{
mainForm.cmd = args[0];
}
Application.Run(mainForm);
}
PS:以上的目的就是讓winform程式支援命令列參數。為了更直觀的看到測試效果,我們在Form的Load事件中把接收到的參數顯示在了一個TextBox中。僅此而已。
假設我們產生的程式為aricc.exe 。後面會用到。
二、在註冊表中註冊要使用的自訂協議。在此,以添加“aricc”協議為例。
1、在HKEY_CLASSES_ROOT下添加項aricc.
2、修改aricc項下的"(預設)"索引值為"URL:自訂協議"。這部分可以自己隨便寫。
3、在aricc項下再添加一個索引值"URL Protocol",值隨便。
4、在aricc項下建立項"shell"
5、在shell項下建立項"open"
6、在open項下建立項"command"
7、修改command項的預設索引值為(此處包含引號) "C:\Path\aricc.exe" "%1"
到此自訂協議註冊完畢。
三、測試。
1、開啟記事本,輸入以下代碼,並儲存為test.html
<a href="aricc://TestCommandLine">點擊這裡啟動程式</a>
2、雙擊上面的html檔案,以在瀏覽器中開啟。
3、點擊頁面中的連結。
4、你發現剛才寫的程式運行了。並且TextBox中顯示 "aricc://TestCommandLine/"
To 小石:希望對你有所協助。HOHO