![]() |
eXeL@B —› Вопросы новичков —› Как включить пункт меню? |
Посл.ответ | Сообщение |
|
Создано: 23 февраля 2007 18:48 · Личное сообщение · #1 Есть прога, нам по нажатию в тулбаре вылезает попап меню и в нем один пункт отключен. Как бы мне его включить? Пробовал sign of misery но так и не понял что сделать чтобы он опознал этот пункт меню. И скриптом мышку на нег нвыодил и найти меню по тексту пробовал - или не находит или инвалид меню. Может подскажет кто что? ![]() |
|
Создано: 23 февраля 2007 21:58 · Личное сообщение · #2 |
|
Создано: 24 февраля 2007 03:38 · Личное сообщение · #3 |
|
Создано: 24 февраля 2007 03:40 · Личное сообщение · #4 |
|
Создано: 26 февраля 2007 10:21 · Личное сообщение · #5 Нашол крякмес по теме. Собсно нада кнопочку активировать. Брякаюсь на EnableMenuItem. Попадаю на такой участок кода: 0044C626 8B45 08 mov eax, [ebp+8] 0044C629 8B40 FC mov eax, [eax-4] 0044C62C F680 28020000 0>test byte ptr [eax+228], 2 0044C633 75 0D jnz short 0044C642 0044C635 6A 01 push 1 0044C637 68 20F00000 push 0F020 0044C63C 53 push ebx 0044C63D E8 9E9EFBFF call <jmp.&user32.EnableMenuItem> 0044C642 8B45 08 mov eax, [ebp+8] 0044C645 8B40 FC mov eax, [eax-4] 0044C648 F680 28020000 0>test byte ptr [eax+228], 4 0044C64F 75 0D jnz short 0044C65E 0044C651 6A 01 push 1 0044C653 68 30F00000 push 0F030 0044C658 53 push ebx 0044C659 E8 829EFBFF call <jmp.&user32.EnableMenuItem> 0044C65E 5B pop ebx 0044C65F 5D pop ebp 0044C660 C3 retn Мне подумалось что нужно тут 0044C633 либо тут 0044C64F jnz на je переправить и вместо push 1 и push 0F030 напесать push 0, тогда кнопка получит флаг ENABLED. Так и сделал. Только в итоге нихренась не получилось ибо кнопка всеравно оказалась Disabled. Вот скажие - что я делаю не так? Сам Крякмес можно взять тут --> slil.ru/23996692 ![]() |
|
Создано: 26 февраля 2007 10:52 · Личное сообщение · #6 |
|
Создано: 07 марта 2007 03:16 · Личное сообщение · #7 После распаковки я пробывал так: в WINHEXе по адресу 000707FC(XPButton2 enabled) правишь 08 на 09 и кнопка включается, но тока дальit косяк какойто такой Access violation at address 0045618E in module 'cmfl#2__2.exe'. Read of address 00000305. По адресу 0007076B TXPEdit.Enabled правил 08 на 09. И еще таймер не даёт вводить. Правил интервал (может не так надо) по адресу 000708EB с 64 на F4 и стало вводить. ![]() |
|
Создано: 09 марта 2007 04:06 · Личное сообщение · #8 По-мщуму я как-то ломал этот крякмис(с сайта M!H@N'a?) - офигенно глючный, правда может я чего не понял, но когда после enable всего, что надо, нажимаешь зарегистрировать там в обработчике походу идут asm вставки и регистры после них не восстанавливаются, и при попытке обращения к контролу - access violation, причём enable без патча фиг сделаешь, т.к. там delphi. ![]() |
|
Создано: 09 марта 2007 07:54 · Личное сообщение · #9 |
|
Создано: 10 марта 2007 05:31 · Личное сообщение · #10 Я вот пробовал через Ресторатор. Нашол строки object XPButton2: TXPButton Left = 8 Top = 64 Width = 57 Caption = 'Проверка' Enabled = False OnClick = XPButton2Click end и object Edit1: TXPEdit Left = 8 Top = 24 Width = 185 Height = 19 Enabled = False Text = 'Активируйте кнопку "Проверка"' end False на True поменял, таймер не мешает, а ошибка та же - Access violation at address 0045618E in module 'cmfl#2__2.exe'. Read of address 00000305. Я вообще сначала подумывал что неправильно распаковал, а тут оказываецц0 его нормально отломать нельзя? Типа сам доделай и сломай? ![]() зы. Спасибы за ответы. ззы. Крякмес именно с сайта M!H@N'a. ![]() |
|
Создано: 11 марта 2007 04:59 · Личное сообщение · #11 |
|
Создано: 15 марта 2007 11:58 · Личное сообщение · #12 |
![]() |
eXeL@B —› Вопросы новичков —› Как включить пункт меню? |