Эмуляция keyboard+mousewheel

Тема в разделе "WASM.WIN32", создана пользователем onSide, 31 окт 2011.

  1. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Всем привет, собсно такая задачка: есть программа(не моя,сорцов нет), есть определенное действие забитое на клавишу G. Надо сделать чтобы оно было на Ctrl+mousewheel. Я сделал екзешник который создает саспендед процесс нашей проги, инжект апц, и лоад либрари моей дллки. В ней я нахожу нужное мне окно и делаю SetWindowLongPtr и меняю оконную процедуру на свою.
    Так вот, я не могу заставить прогу думать что контрл отжат. Я делал WM_KEYUP и в своей WndProc не пропускал WM_KEYDOWN c VK_CONTROL, но это не работает. Пока что сделал косыль, поставил в настройках это действие на Ctrl+G, и на отлове WM_MOUSEWHEEL шлю WM_KEYDOWN(G)->WM_KEYUP(G). Работает , но не могу понять почему когда программно шлю те же сообщения не работает.

    И вторая ситуация, действие которое было на Ctrl+MOUSEWHEEL заменить на просто MOUSEWHEEL. Опять таки шлю WM_KEYDOWN(VK_CONTROL)->WM_MOUSEWHEEL(MK_CONTROL)-WM_KEYUP(VK_CONTROL), и нифига. В чем фишка?)