blogjava's web log

          blogjava's web log
          ...

          超鏈接打開(kāi)自定義的協(xié)議

          想要IE或word點(diǎn)擊超鏈接打開(kāi)本地的EXE應(yīng)用程序,這個(gè)怎么辦?

          比如點(diǎn)擊這樣的鏈接

          <a href="vip:123-MonacoGP-19279-Senna">打開(kāi)我的協(xié)議</a>

          將打開(kāi)我的EXE應(yīng)用程序?

          首先你要修改注冊(cè)表,要讓IE看的懂像href="vip:123-MonacoGP-19279-Senna" 這樣的協(xié)議.

          c#如何寫(xiě)注冊(cè)表?

          //寫(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文件路徑"); 
          
          

          這段代碼是在 注冊(cè)表 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)的鏈接,就可以打開(kāi)外部的自己定義的應(yīng)用程序了.

          當(dāng)然winform 應(yīng)用程序還可以接收你傳過(guò)來(lái)的值

          比如 EXE應(yīng)用程序啟動(dòng)的時(shí)候接收鏈接傳過(guò)來(lái)的 123-MonacoGP-19279-Senna字符串,你可以在winform 啟動(dòng)的時(shí)候捕獲這個(gè)值

          [STAThread]
          static void Main(string[] args)
          { 
          
          if (args.Length > 0)
          {
          
          //arg[0]就是剛剛鏈接傳過(guò)來(lái)的
          
          // 賦值=arg[0];
          }
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Application.Run(new Form1());
          }
          
          

          如何給IE工具欄添加圖標(biāo)和按鈕,菜單,打開(kāi)自己的應(yīng)用程序?
          可以看看這篇
          http://www.codeproject.com/useritems/CorKatIEExtension.asp

          關(guān)于快速的操作注冊(cè)表
          你可以參考
          http://www.codeproject.com/cs/system/quickregistry1.asp

          本文來(lái)源http://www.codeproject.com/aspnet/APPHyperlinks.asp

          //

          上面所有鏈接文章的源代碼下載地址

          http://www.aygfsteel.com/Files/wujun/APPTest.rar

          //END

          posted on 2007-03-30 08:28 record java and net 閱讀(4908) 評(píng)論(4)  編輯  收藏

          評(píng)論

          # re: 超鏈接打開(kāi)自定義的協(xié)議 2007-05-28 15:36 wuyisky

          有沒(méi)有C#版的 看不洞java  回復(fù)  更多評(píng)論   

          # re: 超鏈接打開(kāi)自定義的協(xié)議[未登錄](méi) 2007-05-29 00:46 jinglecat

          這不就是C++++的?  回復(fù)  更多評(píng)論   

          # re: 超鏈接打開(kāi)自定義的協(xié)議 2007-05-29 22:13 wuyisky

          沒(méi)細(xì)看,怎么跑到blogjava中了,應(yīng)該在cnblogs中呀,謝謝,文章不錯(cuò),我要的  回復(fù)  更多評(píng)論   

          # re: 超鏈接打開(kāi)自定義的協(xié)議 2007-05-29 23:11 wuyisky

          今天把你的程序調(diào)試了一下,真行,我很高興呀,我在一個(gè)月前就在找這個(gè)東西了,不過(guò)一開(kāi)始調(diào)試的時(shí)候提示對(duì)注冊(cè)表的訪問(wèn)被拒絕,是asp.net的兩個(gè)用戶沒(méi)有權(quán)限寫(xiě)注冊(cè)表。然后我在注冊(cè)表中添加了該兩用戶的寫(xiě)權(quán)限,就可以了。


          問(wèn)一下,用程序怎么給兩用戶加寫(xiě)注冊(cè)表的權(quán)限?   回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動(dòng)態(tài)語(yǔ)言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 石屏县| 花莲市| 兴和县| 博客| 内丘县| 郧西县| 图木舒克市| 嘉义县| 烟台市| 永泰县| 祁门县| 通州市| 绥芬河市| 辽源市| 南开区| 陇川县| 长沙县| 普兰店市| 鸡泽县| 卓尼县| 张家港市| 阳城县| 乐至县| 镶黄旗| 荔波县| 普陀区| 钦州市| 平顺县| 潍坊市| 石屏县| 关岭| 泉州市| 衡山县| 平利县| 浮山县| 大庆市| 海盐县| 克山县| 枣强县| 永和县| 肃北|