привет всем. нужно создать имитацию нажатия кнопки в программе. я новичек и пока мне кажется это можно сделать очень быстро Код (Text): invoke FindWindow, 0, wndname mov [hwnd], eax invoke PostMessage, с параметрами :) Но возникает вопрос, что именно посылает окно при нажатии на кнопку? Может есть программы, которые могут отследить это. И правильно ли вообще я пытаюсь послать окну команду?
Код (Text): WM_LBUTTONDOWN fwKeys = wParam; // key flags xPos = LOWORD(lParam); // horizontal position of cursor yPos = HIWORD(lParam); // vertical position of cursor SendMessage(hWnd, WM_LBUTTONDOWN, 0, 0);
SendMessage(hwnd, WM_SETFOCUS, 1, 0); SendMessage(hwnd, WM_SETSTATE, 1, 0); PostMessage(hwnd, WM_KILLFOCUS, 0, 0); hwnd - handle of button, of course.
Ужос какой..) Через PostMessage все прекрасно работает. Просто надо уделить внимание lparam'у. А как же OllyDBG. Поставь conditional log на DispatchMessage или что там юзается в оконной процедуре, в условии напиши никогда не тормозить, но всегда логировать, потом открывай окно лога, пускай программу и смотри на логесы, там все сообщения прекрасно видно будет (галочку писать параметры ф-ии тоже выставь). Тормози, смотри нужную смс'ку и ее параметры. Потом через пост отсылай.
1. Через PostMessage можно послать событие не только нажатия кнопки и любое другое. 2. У тебя 3 строчки, без поиска окна. - у меня 2 с FindWindow! 8-)))