blogjava's web log

          blogjava's web log
          ...

          超鏈接打開自定義的協議

          想要IE或word點擊超鏈接打開本地的EXE應用程序,這個怎么辦?

          比如點擊這樣的鏈接

          <a href="vip:123-MonacoGP-19279-Senna">打開我的協議</a>

          將打開我的EXE應用程序?

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

          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 的鍵

          結構是這樣的

          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"

          創建完以后當你點擊這樣(vip:123-MonacoGP-19279-Senna)的鏈接,就可以打開外部的自己定義的應用程序了.

          當然winform 應用程序還可以接收你傳過來的值

          比如 EXE應用程序啟動的時候接收鏈接傳過來的 123-MonacoGP-19279-Senna字符串,你可以在winform 啟動的時候捕獲這個值

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

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

          關于快速的操作注冊表
          你可以參考
          http://www.codeproject.com/cs/system/quickregistry1.asp

          本文來源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) 評論(4)  編輯  收藏

          評論

          # re: 超鏈接打開自定義的協議 2007-05-28 15:36 wuyisky

          有沒有C#版的 看不洞java  回復  更多評論   

          # re: 超鏈接打開自定義的協議[未登錄] 2007-05-29 00:46 jinglecat

          這不就是C++++的?  回復  更多評論   

          # re: 超鏈接打開自定義的協議 2007-05-29 22:13 wuyisky

          沒細看,怎么跑到blogjava中了,應該在cnblogs中呀,謝謝,文章不錯,我要的  回復  更多評論   

          # re: 超鏈接打開自定義的協議 2007-05-29 23:11 wuyisky

          今天把你的程序調試了一下,真行,我很高興呀,我在一個月前就在找這個東西了,不過一開始調試的時候提示對注冊表的訪問被拒絕,是asp.net的兩個用戶沒有權限寫注冊表。然后我在注冊表中添加了該兩用戶的寫權限,就可以了。


          問一下,用程序怎么給兩用戶加寫注冊表的權限?   回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動態語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 沙坪坝区| 泗水县| 来安县| 南平市| 堆龙德庆县| 中江县| 孝昌县| 亚东县| 怀柔区| 大丰市| 平阳县| 永仁县| 岳普湖县| 临沭县| 高陵县| 萝北县| 永城市| 沾益县| 安龙县| 罗甸县| 老河口市| 连江县| 鄂托克旗| 英吉沙县| 双牌县| 杭锦后旗| 阿城市| 宝兴县| 南康市| 岐山县| 长岭县| 石门县| 邳州市| 象州县| 玉门市| 二手房| 和龙市| 阜阳市| 九江市| 泌阳县| 祁阳县|