2010-11-02 26 views
0

我正在編寫一個非常大的軟件。 它裏面有很多項目。從主項目到UI線程的MFC PostMessage

我的一個項目是一個UI線程。我想從主項目向此UI線程發佈消息。

當我使用PostThreadMessage(由GetCurrentThreadId()獲取線索後),一切工作正常,除了當一個MessageBox是開放的時間...

所以我想從PostMessage的主體工程將消息發送。我怎樣才能以這種方式發送消息?我怎麼知道哪個窗口發送消息?

感謝

回答

1

如果它是一個UI線程,那麼你必須在該線程創建的主窗口。只需在此窗口中發佈消息。而已。

編輯1:如果是另一個進程,那麼可能你可以創建一個隱藏窗口,其中包含一些帶有特殊字符和下劃線的獨特標題,並使用FindWindow API來查找該窗口或使用EnumWindows枚舉頂級窗口並匹配標題。

+0

謝謝。但是,如何從另一個項目獲取UI線程主窗口的hwnd指針? – Erez 2010-11-02 14:45:25

+0

更新了我上面的答案(編輯1) – 2010-11-03 03:48:48