![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Много знаю примеров как найти и нажать кнопку в окнах, но ни разу не встречал примеров о том как работать с меню. Допустим, надо в чужом окне найти меню "файл", и вызвать действие "сохранить как". Может посоветуете?
|
|||
|
||||
SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Если есть MainMenu то можно так
Пример вызывания конфигурации Total Commander
Это сообщение отредактировал(а) SlaUr - 18.12.2007, 08:31 |
|||
|
||||
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Спасибо! Код работает и для моего случая! Т.е. для MainMenu. Небольшое дополнение.-
............... SetForegroundWindow(WND); ClickKey(VK_MENU);//выделить первый уровень главного меню.(у меня - Файл) ClickKey(VK_DOWN);//переместиться на один уровень вниз (у меня - Сохронить как) ClickKey(VK_RETURN);//нажатие вирт. клавиши ENTER .... далее по тексту. |
|||
|
||||
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Но, есть один недостаток, который мне нужно устранить -
процедура ClickKey не выполняется на свёрнутом окне. :(. Как считаешь, - это в принципе не выполнимо, или надо подправить код? |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Вообще-то обычно делают хоткей на пункты меню.
Например Ctrl+Shift+S Можно послать хоткей для того же результата... |
|||
|
||||
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Думаю так просто не получится. Вот сейчас в Word-е проэкспериментировал.
Через Ctrl + S в активном окне изменения сохраняются, а в свёрнутом - нет. Жаль, что подменю не имеют хэндла. Хотя, хэндлы свёрнутого окна вполне обнаруживаются. То есть всегда, для того, чтобы сохранить (загрузить конфигурацию), нужно чтобы это окно было восстановлено(ИМХО). И для выполнения кода не важно первое оно или последнее. |
|||
|
||||
SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Что мешает прежде чем выполнять с MainMenu действия послать команду окну развернуться?
К сожалению сейчас нет под рукой исходного кода но я находил этот код в форуме Вернее не развернуться(тогда будет макс.размер) а восстановится. Если не найдете в понедельник посмотрю что нужно послать окну. |
|||
|
||||
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Договорились!
Я вот тоже подумал, что хотя мне нужно все операции выполнять в фоновом режиме, то даже если я для этого буду на время выполнения восстанавливить,а потом снова сворачивать, это будет практически незаметно для пользователя. |
|||
|
||||
SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Я делал так
|
|||
|
||||
Magik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 6.12.2007 Репутация: нет Всего: 2 |
Спасибо.Я понял! Вопросов нет.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |