Книга: Windows Script Host для Windows 2000/XP
Метод SendKeys
Метод SendKeys
Каждая клавиша задается одним или несколькими символами. Например, для того чтобы задать нажатие друг за другом букв А, Б и В, нужно указать в качестве параметра для SendKeys
строку "АБВ
": string="AБB"
.
Несколько символов имеют в методе SendKeys специальное значение: +
, ^
, %
, ~
, (, ). Для того чтобы задать один из этих символов, их нужно заключить в фигурные скобки {}
. Например, для задания знака плюс используется {+}
. Квадратные скобки []
хотя и не имеют в методе SendKeys специального смысла, их также нужно заключать в фигурные скобки. Кроме этого, для задания самих фигурных скобок следует использовать следующие конструкции: {{}
(левая скобка) и {}}
(правая скобка).
Для задания неотображаемых символов, таких как <Enter> или <Tab> и специальных клавиш, в методе SendKeys
используются коды, представленные в табл. 1.14.
Таблица 1.14. Коды специальных клавиш для SendKeys
Названия клавиш | Код | Названия клавиш | Код |
---|---|---|---|
<Backspace> | {BACKSPACE} , {BS} или {BKSP} |
<?> | {RIGHT} |
<Break> | {BREAK} |
<F1> | {F1} |
<Caps Lock> | {CAPSLOCK} |
<F2> | {F2} |
<Del> или <Delete> | {DELETE} или {DEL} |
<F3> | {F3} |
<End> | {END} |
<F4> | {F4} |
<Enter> | {ENTER} ИЛИ ~ |
<F5> | {F5} |
<Esc> | {ESC} |
<F6> | {F6} |
<Home> | {HELP} |
<F7> | {F7} |
<Ins> или <Insert> | {INSERT} или {INS} |
<F8> | {F8} |
<Num Lock> | {NUMLOCK} |
<F9> | {F9} |
<Page Down> | {PGDN} |
<F10> | {F10} |
<Page Up> | {PGUP} |
<F11> | {F11} |
<Print Screen> | {PRTSC} |
<F12> | {F12} |
<Scroll Lock> | {SCROLLLOCK} |
<F13> | {F13} |
<Tab> | {TAB} |
<F14> | {F14} |
<?> | {UP} |
<F15> | {F15} |
<?> | {LEFT} |
<F16> | {F16} |
<?> | {DOWN} |
Для задания комбинаций клавиш с <Shift>, <Ctrl> или <Alt>, перед соответствующей клавишей нужно поставить один или несколько кодов из табл. 1.15.
Таблица 1.15. Коды клавиш <Shift>, <Ctrl> и <Alt>
Клавиша | Код |
---|---|
<Shift> | + |
<Ctrl> | ^ |
<Alt> | % |
Для того чтобы задать комбинацию клавиш, которую нужно набирать, удерживая нажатыми клавиши <Shift>, <Сtrl> или <Alt>, нужно заключить коды этих клавиш в скобки. Например, если требуется сымитировать нажатие клавиш <G> и <S> при нажатой клавише <Shift>, следует использовать последовательность "+(GS)
". Для того же, чтобы задать одновременное нажатие клавиш <Shift>+<G>, а затем <S> (уже без <Shift>), используется "+GS
".
В методе SendKeys можно задать несколько нажатий подряд одной и той же клавиши. Для этого необходимо в фигурных скобках указать код нужной клавиши, а через пробел — число нажатий. Например, {LEFT 42}
означает нажатие клавиши <?> 42 раза подряд; {h 10}
означает нажатие клавиши <h> 10 раз подряд.
Замечание
Метод SendKeys
не может быть использован для посылки нажатий клавиш для приложений, которые не были разработаны специально для запуска в Microsoft Windows (например, для приложений MS-DOS).
Примеры, иллюстрирующие использование SendKeys
, приведены в листингах 1.13, 2.31, 2.32.