PDA

Просмотр полной версии : Вопрос по хуку кнопки


Twiddle
16.07.2009, 00:12
Очень прошу помочь.
Есть окно чужой программы. На нем есть кнопка. Мы можем получить хендл этой кнопки даже. Как сделать следущее:
при нажатии пользователем на эту кнопку (когда она внизу, еще не отпущена) выполнялся наш код. Или по другому: при нажатии на эту кнопку выполняется наш код и после посылается уже реальное нажатие. Очень нужно. Спасибо заранее...

Ra$cal
16.07.2009, 00:41
инжект+сабклассинг. статей по этим темам в гугле хоть опой жуй

Twiddle
16.07.2009, 02:35
обязательно так? простой хук нельзя? можно ссылку на конкретный пример или сам пример. очень нужно уже 3 сутки мучаюсь.. =(

Ra$cal
16.07.2009, 02:47
ну если код не связан с чужим приложением то можно хук. ток имхо проще сделать инжект и сабклассинг. ибо инжект делается вызовом CreateRemoteThread (GetProcAddress("LoadLibrary"), "mega.dll") (есесно псевдокод). Ну и дальше через SetWindowLong сабкласснуть батон с перехватом любых сообщений.

кстати SetWindowLong нада вызывать не для хэндла кнопки. Сообщения о кликах обрабатываются в окне-владельце. Поэтому сначала делаешь GetParent. По поводу нажатия кнопки - это вроде нотифаями шлется.
чти мсдн на эту тему (http://msdn.microsoft.com/en-us/library/bb761839%28VS.85%29.aspx)

Twiddle
21.07.2009, 21:37
гугл не помогает. Кто нить может конкретно помочь за хорошее пиво? Кто не пьет пиво можем на номер договориться или аналогичное вознаграждение... =\ Тупо надо перехватить нажатие кнопки. При нажатии выполняется мой код который я уже написал с горем-пополам. Пасибо заранее... Писать можно в пм.