Visual Basic Script


Windows Script Host (WSH) - управление программами - часть 3


Клавиша Код Клавиша Код
"BackSpace" {BACKSPACE}, {BS} или {BKSP} "Break" {BREAK}
"Caps Lock" {CAPSLOCK} "F1"..."F12" {F1}...{F12}
"Delete" {DELETE} или {DEL} "End" {END}
"Enter" {ENTER} или ~ "Esc" {ESC}
"Help" {HELP} "Home" {HOME}
"Insert" {INSERT} или {INS} "Num Lock" {NUMLOCK}
"Page Down" {PGDN} "Page Up" {PGUP}
"Print Screen" {PRTSC} "Scroll Lock" {SCROLLLOCK}
"Tab" {TAB} "Стрелка вверх" {UP}
"Стрелка влево" {LEFT} "Стрелка вниз" {DOWN}
"Стрелка вправо" {RIGHT}

Для указания клавиш Alt, Shift, Ctrl существуют специальные коды:

Клавиша Код
Shift +
Ctrl ^
Alt %

Так если вы хотите передать нажатие нескольких клавиш с Shift-ом, то вам надо выполнять команду: WshShell.SendKeys("+(ABC)");, если только первую: WshShell.SendKeys("+ABC");.

Легко заметить, что такие символы как +, ^, % зарезервированы под обозначение специальных клавиш, так что просто так передать эти (и некоторые другие) символы не удастся. Для этого надо заключить их в фигурные скобки: "{+}", "{%}"... Вот полный список символов, которые необходимо заключать в фигурные скобки: +, ^, %, ~, (,), {, }, [, ].

Если вы хотите передать несколько нажатий подряд одной клавиши, то вам вовсе не обязательно все их набирать в скрипте, можно просто указать количество повторений. Так, строка WshShell.SendKeys("{A 100}"); эквивалента сотне нажатий клавиши "А". Правда, есть ограничение на количество возможных повторений нажатия клавиш. Это значение лежит где-то между 8150 и 8180 раз (более точно мне было лень выяснять). При превышении этого значения в скрипте будет выдана ошибка.

На этом покончим с теорией и рассмотрим еще парочку примеров работы с программами именно с использованием клавиш, приведенных в таблице. Для начала поиздеваемся над бедными юзерами, а именно закроем Word без сохранения изменений в файле:




Начало  Назад  Вперед



Книжный магазин