在網頁上啓動你的應用程序

現在有一些程序是B/S和C/S混合的,在winform裏也可以方便的嵌入web,vs2003和vs2005都提供了這樣的控件。
而還有一種需求,在web上啓動你的winform程序,比較常見的是qq,下載工具等。

笨一點的做法,是通過客戶端js來啓動。這樣做有安全隱患,因此window後面版本的操作系統,嚴格限制了js的權限。

研究qq的實現方式,發現非常簡單。看下面的註冊文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test]
@="Test"
"URL Protocol"="應用程序路徑%l"

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/DefaultIcon]
@="%SystemRoot%//system32//url.dll,0"

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell]

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open]

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Test/Shell/open/command]
@="應用程序路徑 %l"

你可以直接將它保存爲一個reg文件然後註冊,或者在你的應用程序安裝時直接修改註冊表。


在你的網頁上加一個這樣的鏈接:
<A href='Test://para1&para2&para3'>

如果你點這個鏈接,你在註冊文件裏的應用程序就可以被啓動了。

還有一個需求,一般從網頁啓動應用需要傳遞參數(上面鏈接後面帶了三個參數),做法如下:

你的應用程序主函數要這樣接收參數:

static void Main(string[]   args)
  {
   if(args.Length>0)
   {
    //存參數
    }
  }
通過args[index]就可以訪問到你傳遞的參數了。

發佈了37 篇原創文章 · 獲贊 0 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章