Возможно ли получить указатель на поток в котором выполняется оконная процедура окна имеея хендл этого окна? мне надо то просто хлопнуть окно чтобы оно не рыпалось, но если вызвать просто DestroyWindow то ему отошлётся WM_DESTROY, и сработают обработчики, а мне надо убить его так чтобы оно этого даже не поняло =)
Может проще подменить оконную процедуру: SetWindowLong с параметром GWL_WNDPROC и послать ей этот WM_DESTROY
newProcAddr proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM .IF uMsg==WM_DESTROY invoke PostQuitMessage,NULL .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .ENDIF xor eax,eax ret newProcAddr endp Сделал, но почемуто при вызове PostQuitMessage закрывается вся программа, наверное там специальная процедура выхода нужна
Значит ненадо PostQuitMessage слать видимо, значит там есть еще окна, которые обрабатываются в одном цикле с прибиваемым окном Убивать поток наверно не следует по этой же причине
Ага, я уже понял в чём дело, там диалог, и по его завершение идёт некий код, а я думал что он выполняется по приходу WM_DESTROY
fourty_fourty мне процесс завершать не надо =) _basmp_ тоже вариант, но как я уже говорил код которого я хотел избежать выполняется по завершению WinMain(Оконной процедуры)
2FED Тогда причем тут окно и его процедура? Находите этот код, запоминаете адреса, забиваете нопами в хиеве. Или переход в конец этого кода.
Дык уже не причём, тему создал когда думал что код этот выполняется в оконной процедуре. В общем тему можно сщитать закрытой, всем спасибо =)