Метод 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.