2015-09-06 58 views
1

我使用CreateWindowEx創建一個窗口,僅用於接收消息。目前hWndParent參數爲0:僅消息窗口是否消耗更少的資源?

Result := CreateWindowEx(WS_EX_TOOLWINDOW, WindowClassName, '', WS_POPUP, 
     0, 0, 0, 0, 0, 0, HInstance, nil); 

我讀過的消息,唯一窗口可以通過改變這個參數來HWND_MESSAGE創建。

使用此選項時,在性能和資源消耗方面是否有優勢?

+4

您可以使用內置的'AllocateHWnd'功能。你爲什麼想自己做這個*。我想說,這是優化的不利之處。你會做一次(對於我希望的普通消息接收器)。 – TLama

+0

@TLama:謝謝你的迴應。原因是這裏概述:[鏈接](http://stackoverflow.com/questions/32322329/how-to-pass-message-to-tapartmentthread-instance-without-creating-windows-handle) – CAnder

+2

我懷疑它使得多差異 –

回答

2

這是很難回答明確。人們會想象一個只有消息窗口的資源比隱藏的窗口更少。但是誰能說這不是相反的方式?也許答案與操作系統版本不同。你只能通過分析來確定。

但是,在進程中,您往往不會有大量消息窗口。所以即使有所不同,它會不會是重要的?不見得。

更重要的區別是在行爲中發現。最大的問題是隻有窗口才會收到廣播消息。

+0

感謝您的貢獻和線程安全AllocateHWnd。 – CAnder