2012-08-09 68 views
1

有沒有辦法在單詞內部捕獲Windows消息(我嘗試覆蓋WinProc ...不行)?我有一個詞,我試圖與外部溝通的VSTO插件...理想情況下,我想從一個應用程序發佈消息,用word捕獲該消息,然後執行相應的響應...在VSTO插件中捕獲Windows消息

+3

對不起,沒有真正意識到這件事情是如何工作的。我會看看我的過去的問題/消息,看看我能做什麼 – devHead 2012-08-09 20:54:14

回答

1

避免在Word中(這是一個爛攤子,當談到與UAC權限),我想出了自己的解決方案的進程間通信:

我設置了一個鉤我的我的話VSTO插件的實例中有SetWinEventHook( )(掛鉤SYS_ALERT)...我只是監視創建的新窗口(OB_CREATE),如果它是使用解釋的攝像頭的應用程序,那麼我關閉DS中正在運行的圖形,釋放攝像頭並允許它在具有焦點的應用程序中使用。我的每個使用相機的程序都會實現這個類的鉤子。

更好的主意歡迎...

2

由於此功能沒有被interop程序集公開,我不會建議這種方法。您只應嘗試通過這些API與辦公應用程序進行交互。

如果你只是需要進程間通信,並且你可以控制發送者和接收者,我會建議使用套接字連接或管道。 Word將會處理它自己的Windows消息,並且干涉這個過程並不是一個好主意。

+0

儘管有命名管道,但它比在WinForms中重寫WinProc的簡單方法更復雜....命名管道可能是一團糟並導致更多的問題,比它的價值.... – devHead 2012-08-09 20:55:44

+0

該場景是我有4個應用程序使用網絡攝像頭...此設備大聲1 directshow實例。所以,如果客戶同時使用2,我需要一種方式與具有正在運行的圖形的應用程序進行通信,請告訴它關閉相機的句柄並允許它在另一個應用程序中啓動 – devHead 2012-08-09 20:57:59