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.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 华坪县| 岳阳市| 西乌珠穆沁旗| 同江市| 法库县| 石渠县| 永丰县| 咸阳市| 子长县| 板桥市| 丰原市| 元阳县| 利川市| 卓尼县| 甘肃省| 陆丰市| 瑞金市| 武邑县| 佛坪县| 神农架林区| 衡东县| 四平市| 宜良县| 庆安县| 错那县| 淮安市| 保亭| 石城县| 噶尔县| 车险| 湘乡市| 剑河县| 永登县| 乌鲁木齐市| 方山县| 遂川县| 海门市| 曲阳县| 武定县| 丰都县| 莲花县|