Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
Рассмотрим методы, приведенные в табл. 1.8, более подробно.
Метод АррActivate
Метод AppActivate активизирует уже запущенное указанное приложение (устанавливает на него фокус), но не производит никаких действий по изменению размеров его окна. Для того чтобы первоначально запустить нужное приложение и определить вид его окна, следует использовать метод Run объекта WshShell. Для того чтобы определить, какое именно приложение необходимо активизировать, строка title сравнивается по очереди с названиями окон всех запущенных приложений. Если не найдено ни одного точного совпадения, будет производиться поиск того приложения, название окна которого начинается со строки title. Если и в этом случае не будет найдено ни одного подходящего приложения, то будет вестись поиск приложения, заголовок которого заканчивается на эту строку. Если будет найдено несколько подходящих окон, то произойдет активизация одного из них (окно выбирается произвольно).
В качестве примера использования метода AppActivate в листинге 1.13 приведен сценарий RunCalc.js, который запускает стандартный калькулятор Windows и выполняет в нем несколько простых арифметических действий (для этого используется метод SendKeys).
Листинг 1.13. Сценарий RunCalc.js/*****************************************************************/
/* РРјСЏ: RunCalc.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* Описание: Активизация приложения с помощью имени окна        */
/*****************************************************************/
//Создаем объект WshShell
var WshShell = WScript.CreateObject("WScript.Shell");
//Запускаем Калькулятор
WshShell.Run("calc");
//Приостанавливаем сценарий на 0,1 секунды
WScript.Sleep(100);
//Активизируем Калькулятор
WshShell.AppActivate("Calculator");
//Приостановка сценария на 0,1 секунды
WScript.Sleep(100);
//Посылаем нажатия клавиш в Калькулятор
WshShell.SendKeys("1{+}");
WScript.Sleep(500);
WshShell.SendKeys("2");
WScript.Sleep(500);
WshShell.SendKeys("~");
WScript.Sleep(2500);
/************* Конец *********************************************/
В главе 2 приведены другие примеры использования метода AppActivate (см. листинги 2.31 и 2.32).
Метод CreateShortcut
Ртот метод позволяет создать новый или открыть уже существующий ярлык для изменения его свойств.В
В листинге 1.14 приведен пример сценария, в котором создаются два ярлыка — на сам выполняемый сценарий (объект oShellLink и на сетевой ресурс (oUrlLink).
Листинг 1.14. Пример использования метода CreateShortcut/*****************************************************************/
/* РРјСЏ: MakeShortcuts.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* Описание: Создание ярлыков из сценария                       */
/*****************************************************************/
var WshShell,oShellLink,oUrlLink;
//Создаем объект WshShell
WshShell=WScript.CreateObject("WScript.Shell");
//Создаем ярлык на файл
oShellLink=WshShell.CreateShortcut("Current Script.lnk");
//Устанавливаем путь к файлу
oShellLink.TargetPath=WScript.ScriptFullName;
//Сохраняем ярлык
oShellLink.Save();
//Создаем ярлык на сетевой ресурс
oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL");
//Устанавливаем URL
oUrlLink.TargetPath = "http://www.microsoft.com";
//Сохраняем ярлык
oUrlLink.Save();
/************* Конец *********************************************/
Примеры работы с ярлыками приведены в листингах 1.19–1.24, 2.43 и 2.44.
Метод Environment
Параметр strType задает вид переменных среды, которые будут записаны в коллекции WshEnvironment; возможными значениями этого параметра являются "System" (переменные среды операционной системы), "User" (переменные среды пользователя), "Volatile" (временные переменные) или "Process" (переменные среды текущего командного окна).
ЗамечаниеВДля Windows 9С… единственным допустимым значением параметра strType является "Process".
В следующем примере мы распечатываем число процессоров, имеющихся в компьютере с операционной системой Windows NT/2000/XP (переменная NUMBER_OF_PROCESSORS), и путь к каталогу Windows (листинг 1.15).
Листинг 1.15. Печать значений переменных среды (объект WshShell.Environment)/*****************************************************************/
/* РРјСЏ: ShowEnvir.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* Описание: Получение значений некоторых переменных среды      */
/*****************************************************************/
var WshShell,WshSysEnv;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создание коллекции WshEnvironment
WshSysEnv = WshShell.Environment("SYSTEM");
WScript.Echo(WshSysEnv("NUMBER_OF_PROCESSORS"));
WScript.Echo(WshShell.Environment.Item("WINDIR"));
/************* Конец *********************************************/
Метод ExpandEnvironmentString
В следующем примере на экран выводится путь к каталогу Windows (листинг 1.16).
Листинг 1.16. Печать значений переменных среды (ExpandEnvironmertStrings)/*****************************************************************/
/* РРјСЏ: ExpEnvStr.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */