Дескрипторы окна являются общими по умолчанию, так же как вы можете найти их через FindWindow
или FindWindowEx
.То, что вы хотите, немного похоже на сокетную связь, клиент-сервер-клиент транзитный протокол.Просто розетки более мощные и могут использоваться на разных машинах.
Вы можете обмениваться данными между процессами, определяя свой собственный тип сообщения WM_*
, и вы можете контролировать межпроцессное взаимодействие «несколько-ко-многим».Но на практике это не практично (если не принимать во внимание уродство), оно не такое мощное, как сокет, не настолько зрелое, как технология сокетов, и требует больше ресурсов (из-за видимого окна).
Конечно, как сказал @IInspectable, существует еще один способ окон только для сообщений .Но окно не видно, что не является «интуитивным».Получение дескриптора окна так же «некрасиво», как и открытие файла.Это как инкапсуляция очереди сообщений в невидимое окно.Кроме того, если окно было случайно закрыто, связь не будет установлена.
Итак, резюме: вы можете использовать видимое окно для обмена данными между процессами в соответствии с вашими предпочтениями, но этот метод не практичен (если нетособая необходимость).