我有一個.NET 2.0 Windows桌面應用程序(時間表),我開發並希望爲它添加一個小工具界面(以便應用程序運行隱藏並通過小工具控制)。Windows邊欄小工具如何與我的桌面應用進行通信?
讓我的小工具與我的應用進行通信的最簡單方法是什麼?
我的想法是在應用程序內部有一個內置的web服務器,小工具控件使用ajax與應用程序通信。不過,我希望有一個更簡單的解決方案。
我有一個.NET 2.0 Windows桌面應用程序(時間表),我開發並希望爲它添加一個小工具界面(以便應用程序運行隱藏並通過小工具控制)。Windows邊欄小工具如何與我的桌面應用進行通信?
讓我的小工具與我的應用進行通信的最簡單方法是什麼?
我的想法是在應用程序內部有一個內置的web服務器,小工具控件使用ajax與應用程序通信。不過,我希望有一個更簡單的解決方案。
您沒有指定小工具和應用程序編寫的技術,所以很難回答。假設你可以使用.NET,帶有命名管道綁定的WCF將非常簡單。只需幾行代碼即可完成設置。
我們在其中一個小工具的ActiveX控件中使用win32 API與同一小工具的其他實例進行通信。不幸的是,我不能給你代碼(因爲我沒有權限,也沒有寫.net的東西),但歸結爲使用窗口(在你的情況下,應用程序窗口)作爲服務器和小工具ActiveX控件作爲客戶端並使用SendMessage函數。
您可以在http://www.codeproject.com/KB/gadgets/GadgetInterop.aspx
NB看到使用與Windows桌面小工具COM互操作的一個例子:確保互操作組件在應用程序的目錄,而不是小工具目錄下,否則你會碰到的問題在更新時/卸載小工具。
謝謝你的回答。是的,我使用.NET(2.0),所以我可以實現命名管道支持。但是,如何從小工具使用它?我做了一個快速搜索,沒有找到任何例子。 – Muxa 2009-10-19 18:50:56
有沒有什麼特別的做法,從一個小工具 - 只是谷歌'WCF命名管道示例'。你至少需要使用.NET 3.0才能獲得WCF(你可以直接用PInvoke在2.0中做命名管道的東西,但它很討厭)。 – nitzmahone 2009-10-19 22:48:26