а при чем тут окно? msg_loop: invoke GetMessage,msg,NULL,0,0 cmp eax,1 jb end_loop jne msg_loop invoke TranslateMessage,msg invoke DispatchMessage,msg jmp msg_loop
VictorV79 Нет не прозрачное. Окно просто не создается. В данном случае нужно создать поток. В потоке "создаю" очередь сообщений с помощью PeekMessage(): Код (Text): ... MSG msg; PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE); PostThreadMessage(GetCurrentThreadId(), WM_USER, 2, 3); GetMessage(&msg, NULL, 0, 0); printf("Got a message 0x%x for hwnd = 0x%x",msg.message, msg.hwnd); ... ... вот так и получим наше сообщение WM_USER, 2, 3.
_sheva740, это не стереотипы. Начнём с того, что сообщения посылаются окну. Второй параметр GetMessage - hWnd, хэндл окна. Если там ноль - GetMessage возвращает сообщения для окон, принадлежащих текущему потоку (ну, и переданные через PostThreadMessage). Для отлова системных сообщений есть специальный вид окон - message-only windows. Поищите по форуму, уже поднимали эту тему.
когда то давно я сталкивался с такой проблемой, мне нужно было отловить таймер в потоке, если память не подводит то есть функция которая якобы регистрирует невидимое окно!! пороюсь по своим исходникам если найду выложу!