Сейчас на форуме: asfa, _MBK_ (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Работа с Меню программы
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 февраля 2010 16:24
· Личное сообщение · #1

Привет! У меня есть программа у которой нужно подменить параметры API ф-ии но я не могу отловить событие нажатия на строку меню. Точнее нужно подправить св-во enable строки в меню.Через EnableMenuItem пробовал, изменял в стеке 3- параметр с 1(mf_grayed) на 0(mf_Enabled) на всех подряд остановах (bpx EnableMenuItem в commandbar) не получилось. Строки меню не стали активными. Может как то по другому?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 20 февраля 2010 19:39
· Личное сообщение · #2

Может кусок кода, как делал?
Возвращаемое значение проверяешь через GetLastError()

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 февраля 2010 21:02
· Личное сообщение · #3

Код начинается прямо с нужного момента

0043EF29 6A 00 PUSH 0
0043EF2B |. 68 20F00000 PUSH 0F020 ; |ItemID = F020 (61472.)
0043EF30 |. 53 PUSH EBX ; |hMenu
0043EF31 |. E8 1CAA0400 CALL <JMP.&USER32.EnableMenuItem> ; \EnableMenuItem
0043EF36 |> 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0043EF39 |. 8B40 FC MOV EAX,DWORD PTR DS:[EAX-4]
0043EF3C |. F680 10020000 04 TEST BYTE PTR DS:[EAX+210],4
0043EF43 |. 75 0D JNZ SHORT OSKOLKI.0043EF52
0043EF45 6A 00 PUSH 0
0043EF47 |. 68 30F00000 PUSH 0F030 ; |ItemID = F030 (61488.)
0043EF4C |. 53 PUSH EBX ; |hMenu
0043EF4D |. E8 00AA0400 CALL <JMP.&USER32.EnableMenuItem> ; \EnableMenuItem


Может побольше вырезать?


 eXeL@B —› Вопросы новичков —› Работа с Меню программы
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати