在web頁中呼叫WinForm程式的方法

2021-08-31 19:43:49 字數 1892 閱讀 5786

在web頁中呼叫winform程式的方法

2009-04-08 11:30

很顯然,奧妙就在「tencent://message/?uin=215555521&site=jooit.com&menu=yes」這裡,那這又到底是什麼原理呢?

知道了原理,那麼我們照葫蘆畫瓢的做個demosa實驗一下:

開啟visual studio 2008(你也可以用其他的開發工具,delphi,vb都可以),新建乙個windows forms專案,在預設的form1裡新增乙個label控制項(這裡是為了顯示傳遞過來的引數用的,你也可以不這麼做),在窗體的load事件裡寫上如下**:

this.label1.text = strargs;//是form1的宣告為:public的string型別變數

為了讓我們的程式支援命令列引數(winform程式預設沒有命令列引數),我們再到programs.cs裡對main()函式進行改造。

改造後的**如下:

[stathread]

static void main(string args)

else

}將專案編譯。

好了,來到最關鍵的步驟了,在登錄檔中為我們自定義的helloworld協議建立起登錄檔項,從而讓helloworld應用程式支援此協議。將如下的登錄檔項加入即可,這裡為了簡單起見我直接用乙個.reg檔案來實現,也可以用其他方式進行:

windows registry editor version 5.00

[hkey_classes_root\helloworld]

@="helloworld protocol"

"url protocol"=""

[hkey_classes_root\helloworld\defaulticon]

@="d:\\my documents\\visual studio 2005\\projects\\helloworld\\release\\helloworld.exe,1"

[hkey_classes_root\helloworld\shell]

@=""

[hkey_classes_root\helloworld\shell\open]

@=""

[hkey_classes_root\helloworld\shell\open\command]

@="\"d:\\my documents\\visual studio 2005\\projects\\helloworld\\release\\helloworld.exe\" \"%1\""

再來到web頁面進行測試,修改上面的html**如下:

若是要在web頁面呼叫本地的winform程式,同理也是可行的。

windows registry editor version 5.00

[hkey_classes_root\tencent]

@="tencentprotocol"

"url protocol"="d:\\program files\\tencent\\qq\\timwp.exe"

[hkey_classes_root\tencent\defaulticon]

@="d:\\program files\\tencent\\qq\\timwp.exe,1"

[hkey_classes_root\tencent\shell]

[hkey_classes_root\tencent\shell\open]

[hkey_classes_root\tencent\shell\open\command]@="\"d:\\program files\\tencent\\qq\\timwp.exe\" \"%1\""

此登錄檔所實現的就是當瀏覽器(或其它)碰到 tencent://… 時,自動呼叫 timwp.exe,並把 tencent://… 位址作為第乙個引數傳遞給 timwp.exe。

WEB中呼叫WINFORM控制項

參見http liuwu.me post how to including a winforms user control in an aspnet web page 1.aspx 使用vs2010建立了乙個簡單的winform控制項,該控制項僅僅是將顏色變換一下,結果顯示的是物件圖示 非紅叉!折騰...

web端呼叫winform端

在web端定義了乙個方法,需要將值傳給客戶端。1.在web端建立wcf service,定義好方法返回需要傳送的內容。2.在建立wcf service時會有ixx.cs介面類,3.在客戶端的service類,基於soaphttpclientprotocol 在客戶端business定義方法接受值。p...

Web網頁呼叫Winform方法

通過修改winform啟動函式main方法的引數,實現傳參 main string args 應用程式的主入口點。stathread static void main string args else var form newform1 args form.windowstate formwindo...