Дополнение №1


Дополнение к командам keybd, buttn, zmenu, <TIME=...>



Синтаксис команды:

Синтаксис команды keybd аналогичен ScriptIt и команде "SendKeys" в Visual Basic. В keybd пробел заменяется символом . Символы эмулируются как есть, за исключением следующих:

'!'
Это указывает AutoIt эмулировать клавишу Alt, поэтому "keybd=0~~Thisistext!a" выполнит ввод текста "This is text" и затем нажмёт "Alt+a".

Обратите внимание: некоторые программы очень разборчивы в регистре символов и клавиш Alt, т.е. "!A" отличается от "!a". Первый эмулирует Alt+Shift+A, второй Alt+a. Если сомневаетесь, используйте нижний регистр символов!

'+'
Это указывает AutoIt эмулировать клавишу Shift, поэтому keybd=0~~Hell+o выполнит ввод текста "HellO". keybd=0~~!+a" эмулирует нажатие "Alt+Shift+a".

'^'
Это указывает AutoIt эмулировать клавишу Ctrl, поэтому keybd=0~~^!a эмулирует нажатие "Ctrl+Alt+a".

Обратите внимание: некоторые программы очень разборчивы в регистре символов и клавиш Ctrl, т.е. "^A" отличается от "^a". Первый эмулирует Ctrl+Shift+A, второй Ctrl+a. Если сомневаетесь, используйте нижний регистр символов!

'#'
"Решётка" теперь эмулирует клавишу Windows; поэтому, keybd=0~~#r эмулирует нажатие Win+r, который запускает диалоговое окно "Выполнить".


Некоторые клавиатуры, например Чешская, посылают различные символы при использовании клавиши Shift во включённом и выключенном состоянии Caps Lock. Реализация Send в AutoIt такова, что символы В ВЕРХНЕМ РЕГИСТРЕ отсылаются так, как если бы был нажат Shift, так что оно не будет работать.

Некоторые спец-клавиши могут эмулированы, если заключены в фигурные скобки:

Обратите внимание, Windows не позволяет эмулировать сочетание Ctrl+Alt+Del!

КомандаРезультат эмуляции
{!}!
{#}#
{+}+
{^}^
{{}{
{}}}
{SPACE}SPACE (пробел)
{ENTER}Enter основной клавиатуры
{ALT}ALT
{BACKSPACE} или {BS}Backspace
{DELETE} или {DEL}Delete
{UP}Стрелка вверх
{DOWN}Стрелка вниз
{LEFT}Стрелка влево
{RIGHT}Стрелка вправо
{HOME}Home
{END}End
{ESCAPE} или {ESC}Esc (Escape)
{INSERT} или {INS}Insert (Ins)
{PGUP}PageUp
{PGDN}PageDown
{F1} - {F12}Функциональные клавиши
{TAB}Tab
{PRINTSCREEN}Клавиша Print Screen (Prt Scr SysRq)
{LWIN}Левая клавиша Windows
{RWIN}Правая клавиша Windows
{NUMLOCK on}Num Lock (on/off/toggle) (включить/выключить/переключить)
{CAPSLOCK off}Caps Lock (on/off/toggle) (включить/выключить/переключить)
{SCROLLLOCK toggle}Scroll Lock (on/off/toggle) (включить/выключить/переключить)
{BREAK}для Ctrl+Break
{PAUSE}Pause
{NUMPAD0} - {NUMPAD9}Цифры (цифровая клавиатура)
{NUMPADMULT}* (цифровая клавиатура)
{NUMPADADD}+ (цифровая клавиатура)
{NUMPADSUB}- (цифровая клавиатура)
{NUMPADDIV}/ (цифровая клавиатура)
{NUMPADDOT}. (цифровая клавиатура)
{NUMPADENTER}Enter (цифровая клавиатура)
{APPSKEY}Клавиша Windows App
{LALT}Левый Alt
{RALT}Правый Alt
{LCTRL}Левый Ctrl
{RCTRL}Правый Ctrl
{LSHIFT}Левый Shift
{RSHIFT}Правый Shift
{SLEEP}Клавиша спящего режима компьютера
{ALTDOWN}Удерживать Alt в нажатом состоянии, до {ALTUP}
{SHIFTDOWN}Удерживать Shift в нажатом состоянии, до {SHIFTUP}
{CTRLDOWN}Удерживать Ctrl в нажатом состоянии, до {CTRLUP}
{LWINDOWN}Удерживать левый Windows в нажатом состоянии, до {LWINUP}
{RWINDOWN}Удерживать правый Windows в нажатом состоянии, до {RWINUP}
{ASC nnnn}Выслать клавишу, указав её номер
{BROWSER_BACK}Только в 2000/XP: Кнопка "назад" в окне просмотра
{BROWSER_FORWARD}Только в 2000/XP: Кнопка "вперёд" в окне просмотра
{BROWSER_REFRESH}Только в 2000/XP: Кнопка "обновить" в окне просмотра
{BROWSER_STOP}Только в 2000/XP: Кнопка "остановить" в окне просмотра
{BROWSER_SEARCH}Только в 2000/XP: Кнопка "поиск" в окне просмотра
{BROWSER_FAVORITES}Только в 2000/XP: Кнопка "избранное" в окне просмотра
{BROWSER_HOME}Только в 2000/XP: Запускает браузер и переходит на домашнюю страницу
{VOLUME_MUTE}Только в 2000/XP: Выключить звук
{VOLUME_DOWN}Только в 2000/XP: Уменьшить звук (на 4% от 100)
{VOLUME_UP}Только в 2000/XP: Увеличить звук (на 4% от 100)
{MEDIA_NEXT}Только в 2000/XP: Следующий трек в медиа-плеере
{MEDIA_PREV}Только в 2000/XP: Предыдущий трек в медиа-плеере
{MEDIA_STOP}Только в 2000/XP: Остановить воспроизведение в медиа-плеере
{MEDIA_PLAY_PAUSE}Только в 2000/XP: Воспроизведение / пауза в медиа-плеере
{LAUNCH_MAIL}Только в 2000/XP: Запуск почтовой программы
{LAUNCH_MEDIA}Только в 2000/XP: Запуск медиа плеера
{LAUNCH_APP1}Только в 2000/XP: Запуск первой программы пользователя
{LAUNCH_APP2}Только в 2000/XP: Запуск второй программы пользователя

Чтобы эмулировать ASCII символ A (тоже, что нажатие ALT+065 на цифровой клавиатуре)

keybd=0~~{ASC065}


(Когда используется двухзначный код ASCII вы должны подставить в начало 0, иначе будет использована устаревшая кодовая страница 437).

Чтобы эмулировать символ UNICODE вводите код символа (десятичный или шестнадцатеричный), например это эмулирует китайский символ

keybd=0~~{ASC2709}
keybd=0~~{ASC0xA95}



Одиночную эмуляцию можно повторить, например:

keybd=0~~{DEL4} ;; Эмулирует нажатие клавиши Del 4 раза
keybd=0~~{S30} ;; Эмулирует нажатие клавиши 'S' 30 раз
keybd=0~~+{TAB4} ;; Эмулирует нажатие Shift+Tab 4 раза


Клавиша эмулируется не менее одного раза, даже если указано 0 повторов.

Удерживать клавишу в нажатом состоянии (обычно полезно только для игр)

keybd=0~~{adown} ;; Удерживать клавишу A нажатой
keybd=0~~{aup} ;; Отпустить клавишу A


Устанавливает состояние клавиш CapsLock, NumLock или ScrollLock

keybd=0~~{NumLockon} ;; Включает NumLock
keybd=0~~{CapsLockoff} ;; Выключает CapsLock
keybd=0~~{ScrollLocktoggle} ;; Переключает состояние ScrollLock

Большинство клавиатур ноутбуков имеют специальную клавишу Fn. Эта клавиша не может быть эмулирована.


Например, откройте "Свойства папки" (в панели управления) и попробуйте выполнить следующее:

КомандаОписание
keybd=0~~{TAB}Перейти к следующему элементу управления (кнопка, checkbox и т.д.)
keybd=0~~+{TAB}Перейти к предыдущему элементу управления.
keybd=0~~^{TAB}Перейти к следующей вкладке (на вкладках диалогового окна)
keybd=0~~^+{TAB}Перейти к предыдущей вкладке.
keybd=0~~{SPACE}Можно использовать для переключения флажка или нажатия кнопки.
keybd=0~~{+}Устанавливает галочку (Если это настоящий checkbox.)
keybd=0~~{-}Снимает галочку.
keybd=0~~{NumPadMult}Раскрыть дерево папки SysTreeView32.

Используйте клавишу Alt+Key для доступа к пунктам меню. Кроме того, откройте Блокнот и выполните следующее:
Send("!f") Эмулирует Alt+f, для доступа в меню Блокнота (Alt+ф в русской локализации). Попробуйте другие клавиши!

КомандаОписание
keybd=0~~{DOWN}Перемещение вниз по меню.
keybd=0~~{UP}Перемещение вверх по меню.
keybd=0~~{LEFT}Перемещение влево к новому меню или раскрыть подменю.
keybd=0~~{RIGHT}Перемещение вправо к новому меню или свернуть подменю.
Посмотрите справку Windows, нажав Win+F1 для ознакомления с полным списком сочетаний клавиш, если вы не знаете назначение Alt+F4, PrintScreen, Ctrl+C и так далее.


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru