Я хочу, если это возможно, чтобы скопировать (получить) имена элемента управления конкретного окна или приложения, используя AutoHotkey?

Например, калькулятор открыт на моем экране, и теперь я хочу, чтобы:

  • когда я нажимаю горячую клавишу f1, она должна скопировать название меню калькулятора, например, View, Edit и Help и

  • когда я нажимаю горячую клавишу f2, он должен вставить или отправить имя этих элементов управления, т.е. View, Edit и Help.

  • Точно так же далее я хочу скопировать названия опции в меню просмотра калькулятора. Для этого я хочу, когда я нажимаю f3, он должен скопировать параметры меню просмотра, т.е.Стандарт »,« Научный »,« Программист »и т.д. И

  • когда я нажимаю f4, он должен вставить или отправить меню параметров просмотра.

Возможно ли это сделать?

Посмотрите на этот снимок:

изображение калькулятора

1 ответ1

0

Хотя, скорее всего, можно получить содержимое меню из приложения, такого как калькулятор Windows, любой сопоставимый код, который я могу найти, огромен, и его будет трудно, если не невозможно, изменить или сохранить для большинства. Поэтому я предлагаю более простой вариант.

Во-первых, меню параметров для такого приложения не изменяется, поэтому связывание ключей для их копирования на лету кажется излишним. Вместо этого мы можем настроить их один раз в AHK для отзыва.

MsgBox может выполнить это, как показано ниже:

Код, используемый для этого:

F4::

MyMenu =
(
=================
Calculator Menu
=================
Standard`t`tAlt+1
Scientific`t`tAlt+2
Programmer`tAlt+3
Statistics`t`tAlt+4
-----------------
History`t`tCtrl+H
Digit grouping
-----------------
Basic`t`tCtrl+F4
Unit conversion`tCtrl+U
Date calculation`tCtrl+E
Worksheets

)
MsgBox, 4160, Calculator Menu, %MyMenu%

«T» для табуляции, которая допускает некоторую форму выравнивания текста в MsgBox.

В противном случае вы можете связать F4 (или что-то еще) для вывода эквивалентного текстового меню. Это:

F4::

SendInput `
(
=================
Calculator Menu
=================
Standard`t`tAlt{+}1
Scientific`t`tAlt{+}2
Programmer`t`tAlt{+}3
Statistics`t`tAlt{+}4
-----------------
History`t`t`tCtrl{+}H
Digit grouping
-----------------
Basic`t`t`tCtrl{+}F4
Unit conversion`t`tCtrl{+}U
Date calculation`tCtrl{+}E
Worksheets
)
return

Получает вас это:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .