哪些IPC机制需要GUI应用程序? Windows平台

时间:2011-11-10 08:23:49

标签: windows winapi ipc

哪些IPC机制需要GUI应用程序? Windows平台。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx#base.using_data_copy_for_ipc

Windows支持以下IPC机制:

剪贴板

COM

数据复制

DDE

文件映射

邮筒

RPC

Windows套接字

1 个答案:

答案 0 :(得分:6)

取决于'GUI应用程序'的含义 - 这些技术上都不需要存在GUI;虽然有些人可能需要在幕后使用隐藏的HWND /窗口,这反过来可能需要线程来运行消息循环。 (请注意,在Windows中,控制台应用程序可以使用任何win32 API - 因此控制台应用程序和win32应用程序之间的唯一真正区别是,进程在启动时是否自动分配控制台;否则两个应用程序都可以使用相同的API集或者是否创建可见窗口。)

从我记忆中来看,DDE依赖于窗口之间的消息 - 因此需要消息循环等。但是这些窗口不需要是可见的,因此从用户的角度来看,不需要一个GUI应用程序。

COM支持基于消息循环的应用程序,以及更多unix或服务器式多线程的应用程序。

数据复制 - 如果这是你所指的WM_COPYDATA,那么它确实要求收件人有一个HWND(可能是不可见的),而不是发件人。

剪贴板通常与窗口一起使用,但不需要一个(OpenClipboard可以采用NULL hwnd。)

文件映射,Mailslots,RPC和Windows套接字不需要消息循环。