Определенно нет. Именованные каналы не отправляют оконные сообщения.
Сообщения потоков в этом контексте являются особыми и не имеют ничего общего с именованными каналами.
Вместо этого используйте MsgWaitForMultipleObjects .
ОБРАЗЕЦ КОДА:
void MessageLoop(HANDLE hNamedPipe)
{
do {
DWORD res = MsgWaitForMultipleObjects(1, &hNamedPipe, INFINITE, QS_ALLEVENTS, MWMO_INPUTAVAILABLE);
if (res == WAIT_OBJECT_0) {
/* Handle named pipe -- at this point ReadFile will not block */
} else if (res == WAIT_OBJECT_0 + 1) {
MSG msg;
if (!GetMessage(&msg, NULL, 0, 0))
break; /* WM_QUIT */
TranslateMessage(&msg);
DispatchMessage(&msg);
}
} while (1);
}