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

 eXeL@B —› Программирование —› Как вызвать обновление меню чужого неактивного окна?
Посл.ответ Сообщение

Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 12 января 2011 17:01
· Личное сообщение · #1

Пишу оконный брутген для одной старенькой проги, ибо она не в PE-формате . Номерок там всего-то 16бит и брутится быстро, однако есть сложноти с оценкой результата, ибо ни каких мессаг прога не выдает.
Пожалуй, единственным критерием принятия прогой номерка является разблокировка нескольких пунктов меню. Я проверяю это через GetMenuItemInfo, но правильную информацию она дает только после обновления меню.
Обычно список меню обновляется при его разворачивании. Вопрос: как заставить его обновиться принудительно?




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 12 января 2011 17:42
· Личное сообщение · #2

WM_COMMAND?

-----
Следуй за белым кроликом




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 12 января 2011 22:14 · Поправил: 0xy
· Личное сообщение · #3

Вряд ли.
WM_COMMAND нормально срабатывает с любым Item (элементом списка меню типа Файл->открыть.) При посылке же WM_COMMAND, BM_CLICK, WM_LBUTTONDOWN/UP самому SubMenu "Файл", ни чего не происходит.



Ранг: 10.0 (новичок), 44thx
Активность: 0.010
Статус: Участник

Создано: 13 января 2011 00:17
· Личное сообщение · #4

Menu->GetMenuItemCount->GetSubMenu->EnableMenuItem?



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 13 января 2011 00:30
· Личное сообщение · #5

Да нет же! Ручная активация пункта меню мне не нужна.
Мне нужно развернуть список SubMenu "Файл". Не больше, и не меньше.



Ранг: 10.0 (новичок), 44thx
Активность: 0.010
Статус: Участник

Создано: 13 января 2011 01:31 · Поправил: A V
· Личное сообщение · #6

а, ну сорри, не правильно заначит понял про 'обновиться принудительно'. если именно раскрыть, то гугл говорит про недокументированный мессадж выбора айтема 0x1e5 + VK_RETURN




Ранг: 57.7 (постоянный), 49thx
Активность: 0.070
Статус: Участник

Создано: 13 января 2011 01:41 · Поправил: inffo
· Личное сообщение · #7

0xy, а если посылать нажатия клавиш Alt+Ф в программу



Ранг: 10.0 (новичок), 44thx
Активность: 0.010
Статус: Участник

Создано: 13 января 2011 01:57
· Личное сообщение · #8

и да, еще мысль, если 'информацию она дает только после обновления меню', то это обновление прога вероятно ловит через WM_INITMENUPOPUP, просто попробовать послать его?

| Сообщение посчитали полезным: 0xy

Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 13 января 2011 02:33
· Личное сообщение · #9

WM_INITMENUPOPUP
Да, это наверняка должно сработать. Сейчас попробую.



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 13 января 2011 02:39
· Личное сообщение · #10

A V
Спасибо, помогло

Походу, номерок сбрутило за полминуты.


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


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