2010-11-21 92 views
6

我需要在處理收到的消息的控制檯應用程序中編寫消息處理程序。例如,我註冊WM_Test和發送到我的控制檯應用程序是這樣的:如何讓我的控制檯應用程序接收窗口消息?

var 
    H: THandle; 
begin 
    H:= FindWindow('ConsoleWindowClass', nil); 
    PostMessage(H, WM_Test, 0, 0); 
end; 

現在我想,當我在我的控制檯應用程序顯示一個消息框,收到此消息。

我可以在控制檯程序中使用PeekMessage或AllocateHWND嗎?

我知道我可以用pipe做這項工作,但我想知道我是否可以用窗口消息來做到這一點。

回答

5

是的,你可以。使用AllocateHWND創建一個窗口句柄。然後,您可以設置各種屬性(如名稱),以便您可以使用FindWindow找到它。

相關問題