2011-11-10 36 views

回答

6

取決於你的意思通過 'GUI應用程序' - 這些都不需要在技術上有一個GUI存在;儘管有些人可能需要在幕後使用隱藏的HWNDs/windows,而後者可能需要線程來運行消息循環。 (請注意,在Windows中,控制檯應用程序可以使用任何win32 API--所以控制檯應用程序和win32應用程序之間唯一真正的區別是進程在啓動時是否自動分配控制檯;否則這兩個應用程序可以使用相同的API集並創建可見的窗口或不創建。)

從我記得,DDE確實依賴於窗口之間的消息 - 所以需要一個消息循環等,但這些窗口不需要是可見的,所以從用戶觀點來看,並不需要是一個GUI應用程序。

COM既支持基於消息循環的應用程序,也支持更具有unix或服務器風格的多線程應用程序。數據拷貝 - 如果這是你指的WM_COPYDATA,那麼它確實要求收件人有一個HWND(可能是不可見的),但不是發件人。

剪貼板通常使用的窗口,但並不需要一個(OpenClipboard可以採取一個NULL HWND。)

文件映射,郵筒,RPC和Windows套接字不需要消息循環。

+0

@Hans - 有道理 - 已經更新了答案,謝謝! – BrendanMcK

相關問題