eXeL@B —› Программирование —› Изменение пункта меню |
Посл.ответ | Сообщение |
|
Создано: 13 декабря 2008 17:40 · Личное сообщение · #1 Есть такая проблема. В некоторой прогамме есть меню, в котором один из пунктов обозначен как "Пересчитать"(допустим, файл->пересчитать). Но это пункт, в отличие от других идет бех горячей клавиши (ну например). Что в такой ситуации лучше всего сделать для добавления клавиши? Можно, конечно посмотреть как организован соседний пункт. Это пока что единственная идея. |
|
Создано: 13 декабря 2008 17:49 · Поправил: coderess · Личное сообщение · #2 Находишь окно с помощью, (предварительно узнав имя/класс через Spy++) Code:
О функциях для работы с меню и против ;) http://msdn.microsoft.com/en-us/library/ms646977(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms646977(VS.85).aspx ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes |
|
Создано: 13 декабря 2008 18:36 · Личное сообщение · #3 2coderess Это-то понятно. А где такой код нужно исполнить-то? Мне нужно конкретную прогу исправлять, а значит не обойдется без поиска по адресам внутри проге при ее патчинге и т.п... Хм..скорее всего этот код(что привел ты) будет работать, но это не совсем то, что нужно. Мне нужно к существующему пункту добавить возможность выполнения эитого пкункта по горячей клавиши. Видимо я думаю в другом направлении. Я пока что пытаюсь выйти на обработчик сообщений WM_COMMAND. Делаю это через бряк на DispatchMessageA. А далее как-то выйти к конкретной процедуре... (Забыл я всё уже). Конкретный код привести не могу, я на него еще не вышел.... Может я вообще не так думаю и не в нужном русле?! .... |
|
Создано: 13 декабря 2008 18:59 · Личное сообщение · #4 |
|
Создано: 13 декабря 2008 19:24 · Личное сообщение · #5 |
|
Создано: 13 декабря 2008 19:47 · Личное сообщение · #6 |
|
Создано: 13 декабря 2008 20:32 · Поправил: Mavlyudov · Личное сообщение · #7 Myk Может и так, но что это мне даст, кроме как список используемых клавиш. ......................... -7899: "Ctrl+V" 507: "F9" 535: "Shift+F9" и т.п. ...... А если я туда и введу новую комбинацию и смогу как-то связавть с пунктом, то будет ли работать? я что-то сомневаюсь.. [Edited] Я вроде разобрался. Через ресторатор получилось присвоить ссылки на идентификаторы с нужной клавишей. Хоть и не на программном уровне, но и то хорошо [Edited again] А вот начал я патч собирать через dup2 и после создания, патчик весит 2 МБ. Всего изменений в файле около 302 тысяч. Странно довольно. Вот я и думаю, что программно изменить может было бы рациональней. |
eXeL@B —› Программирование —› Изменение пункта меню |