Оба PostMessage
и SendNotifyMessage
завершаются с ошибкой ERROR_MESSAGE_SYNC_ONLY
.Таким образом, мой единственный оставшийся вариант - SendMessage
, но он, похоже, ничего не делает - он возвращает ноль, а GetLastError
- это ERROR_ENVVAR_NOT_FOUND
.
Вот мой код отправителя (процесс 1):
SendMessage(FindWindowEx(HWND_MESSAGE,NULL,"Message","serverwindow"),WM_COPYDATA,HWND_MESSAGE,
&(COPYDATASTRUCT){0, sizeof "localhost", "localhost"})
И получатель (процесс 0):
HWND hWnd=CreateWindowExA(0,"Message","serverwindow",0,0,0,0,0,HWND_MESSAGE,NULL,GetModuleHandle(NULL),NULL);
MSG msg;
while (Sleep(500), true)
while (PeekMessage(&msg,hWnd,0,0,PM_REMOVE))
printf("message recieved\n");