Сборник статей по настройке Windows


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


Но просто сама по себе такая возможность мало что дает полезного, но вот в связке со следующим методом можно добиться потрясающего эффекта. И метод этот SendKeys(). Итак, давайте напишем небольшой забавный скрипт, позволяющий слегка посмеяться над друзьями:

//JScript var WshShell = WScript.CreateObject("WScript.Shell"); KL = true;

while (KL) { if (WshShell.AppActivate("Блокнот")) { WriteWord(); KL = false; } if (WshShell.AppActivate("Microsoft Word")) { WriteWord(); KL = false; } WScript.Sleep(10000); }

function WriteWord() { WshShell.SendKeys("THE "); WScript.Sleep(300); WshShell.SendKeys("MATRIX "); WScript.Sleep(300); WshShell.SendKeys("HAS "); WScript.Sleep(300); WshShell.SendKeys("YOU..."); WScript.Sleep(300); }

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

Вот похожий пример написанный на VBScript:

set WshShell = WScript.CreateObject("WScript.Shell") KL = true

do while KL if WshShell.AppActivate("Microsoft Word") then WriteWord() KL = false end if WScript.Sleep 3000 loop

function WriteWord() WshShell.SendKeys "HELLO WORLD!" end function

Я привел его для того, чтобы любители именно этого скриптового языка могли по аналогии переделать все остальные примеры в данной статье, потому что они будут на JScript.

Вынужден сразу разочаровать многих: русские буквы корректно в окно программы не передаются, так что придется обходиться только латинскими.

Помимо алфавитно-цифровых символов в приложения можно передавать и нажатие специальных клавиш, например, Enter, Tab, F1...F12, Alt, Shift, Ctrl, и т.п. В таблице приведены специальные обозначения для этих клавиш:




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



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