Какие механизмы IPC требуют приложения с графическим интерфейсом? Платформа Windows - PullRequest
0 голосов
/ 10 ноября 2011

Какие механизмы IPC требуют приложения с графическим интерфейсом? Платформа 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

Отображение файлов

1018 * почтовые слоты *

Труба

RPC

Windows Sockets

1 Ответ

6 голосов
/ 10 ноября 2011

Зависит от того, что вы подразумеваете под «приложением с графическим интерфейсом» - ни один из них технически не требует наличия графического интерфейса пользователя; хотя некоторые могут потребовать скрытых HWND / окон за кулисами, что, в свою очередь, может потребовать потока для запуска цикла сообщений. (Обратите внимание, что в Windows консольное приложение может использовать любой API-интерфейс win32, поэтому единственное реальное различие между консольным приложением и приложением win32 заключается в том, будет ли процесс автоматически назначаться консоли при запуске; в противном случае оба приложения могут использовать один и тот же набор API-интерфейса. и либо создавать видимые окна, либо нет.)

DDE, насколько я помню, полагается на сообщения между окнами - поэтому потребовал бы цикл сообщений и т. Д. Но эти окна не должны быть видимыми, поэтому с точки зрения пользователя не нужно приложение с графическим интерфейсом.

COM поддерживает как приложения, основанные на циклах сообщений, так и те, которые являются более многопоточными в стиле unix или server.

Копирование данных - если вы имеете в виду WM_COPYDATA, то для этого требуется, чтобы у получателя был HWND (который может быть невидимым), но не у отправителя.

Буфер обмена обычно используется с окном, но не требует его (OpenClipboard может принимать значение NULL.)

Сопоставление файлов, почтовые слоты, RPC и сокеты Windows не требуют петель сообщений.

...