имитация нажатия кнопки

Тема в разделе "WASM.BEGINNERS", создана пользователем e4key, 27 авг 2009.

  1. e4key

    e4key New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    привет всем.

    нужно создать имитацию нажатия кнопки в программе. я новичек и пока мне кажется это можно сделать очень быстро :)

    Код (Text):
    1. invoke  FindWindow, 0, wndname
    2. mov     [hwnd], eax
    3. invoke  PostMessage, с параметрами :)
    Но возникает вопрос, что именно посылает окно при нажатии на кнопку? Может есть программы, которые могут отследить это.

    И правильно ли вообще я пытаюсь послать окну команду?
     
  2. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Код (Text):
    1. WM_LBUTTONDOWN  
    2. fwKeys = wParam;        // key flags
    3. xPos = LOWORD(lParam);  // horizontal position of cursor
    4. yPos = HIWORD(lParam);  // vertical position of cursor
    SendMessage(hWnd, WM_LBUTTONDOWN, 0, 0);
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    x0man
    Есчо ID для апфн скажите будет совсем чудесно..
     
  4. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    SendMessage(hwnd, WM_SETFOCUS, 1, 0);
    SendMessage(hwnd, WM_SETSTATE, 1, 0);
    PostMessage(hwnd, WM_KILLFOCUS, 0, 0);

    hwnd - handle of button, of course.
     
  5. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    *BM_SETSTATE
     
  6. IceT

    IceT IceT

    Публикаций:
    0
    Регистрация:
    13 авг 2009
    Сообщения:
    233
    Адрес:
    RU
    Ужос какой..) Через PostMessage все прекрасно работает. Просто надо уделить внимание lparam'у.

    А как же :) OllyDBG. Поставь conditional log на DispatchMessage или что там юзается в оконной процедуре, в условии напиши никогда не тормозить, но всегда логировать, потом открывай окно лога, пускай программу и смотри на логесы, там все сообщения прекрасно видно будет (галочку писать параметры ф-ии тоже выставь). Тормози, смотри нужную смс'ку и ее параметры. Потом через пост отсылай.
     
  7. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    IceT
    чем вам не нравится мой человеческий вириант :derisive:
     
  8. IceT

    IceT IceT

    Публикаций:
    0
    Регистрация:
    13 авг 2009
    Сообщения:
    233
    Адрес:
    RU
    1. Через PostMessage можно послать событие не только нажатия кнопки и любое другое.
    2. У тебя 3 строчки, без поиска окна. - у меня 2 с FindWindow!

    8-)))
     
  9. e4key

    e4key New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    Разобрался, спасибо :) В качестве спая поставил Winspector spy и все на ура :)
     
  10. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    IceT
    Что то я не понял, а где в ollydbg conditional log? Может плагин какой нужен?
     
  11. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    HeadHunter
    Shift+F4
     
  12. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Spy++ интегрированый в студию:)