想要IE或word點(diǎn)擊超鏈接打開本地的EXE應(yīng)用程序,這個(gè)怎么辦?
比如點(diǎn)擊這樣的鏈接
<a href="vip:123-MonacoGP-19279-Senna">打開我的協(xié)議</a>
將打開我的EXE應(yīng)用程序?
首先你要修改注冊表,要讓IE看的懂像href="vip:123-MonacoGP-19279-Senna" 這樣的協(xié)議.
c#如何寫注冊表?
//寫注冊表
RegistryKey key = Registry.ClassesRoot.CreateSubKey("vip");
key.SetValue("", "URL:vip Protocol");
key.SetValue("URL Protocol","");
RegistryKey Subkey= key.CreateSubKey("DefaultICon");
Subkey.SetValue("", "exe文件路徑");
Subkey = key.CreateSubKey("shell").CreateSubKey("open").CreateSubKey("Command");
Subkey.SetValue("","exe文件路徑");
這段代碼是在 注冊表 HKEY_CLASSES_ROOT 下新建vip 的鍵
結(jié)構(gòu)是這樣的
HKEY_CLASSES_ROOT
vip
(Default) = "URL:vip Protocol"
URL Protocol= ""
DefaultIcon
(Default) = "c:\somepath\APPTest.exe"
shell
open
command
(Default) = "c:\somepath\APPTest.exe" "%1"
創(chuàng)建完以后當(dāng)你點(diǎn)擊這樣(vip:123-MonacoGP-19279-Senna)的鏈接,就可以打開外部的自己定義的應(yīng)用程序了.
當(dāng)然winform 應(yīng)用程序還可以接收你傳過來的值
比如 EXE應(yīng)用程序啟動(dòng)的時(shí)候接收鏈接傳過來的 123-MonacoGP-19279-Senna字符串,你可以在winform 啟動(dòng)的時(shí)候捕獲這個(gè)值
[STAThread]
static void Main(string[] args)
{
if (args.Length > 0)
{
//arg[0]就是剛剛鏈接傳過來的
// 賦值=arg[0];
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
如何給IE工具欄添加圖標(biāo)和按鈕,菜單,打開自己的應(yīng)用程序?
可以看看這篇
http://www.codeproject.com/useritems/CorKatIEExtension.asp
關(guān)于快速的操作注冊表
你可以參考
http://www.codeproject.com/cs/system/quickregistry1.asp
本文來源http://www.codeproject.com/aspnet/APPHyperlinks.asp
//
上面所有鏈接文章的源代碼下載地址
http://m.tkk7.com/Files/wujun/APPTest.rar
//END