Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
/*****************************************************************/
/* РРјСЏ: 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В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* РљРѕРґРёСЂРѕРІРєР°: WindowsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Описание: Получение значений переменный среды с помощью     */
/*          метода ExpandEnvironmentString                     */
/*****************************************************************/
var WS = WScript.CreateObject("WScript.Shell");
WScript.Echo("Каталог Windows:"+WS.ExpandEnvironmentStrings("%WinDir%"));
/************* Конец *********************************************/
Метод LogEvent
В Windows NT/2000/XP события записываются в системном журнале, а в Windows 9х — в файле WSH.log, расположенном в каталоге пользователей Windows. Запись в WSH.log будет содержать время события, его тип и текст. Типы сообщений описаны в табл. 1.9.
Таблица 1.9. Типы сообщений (параметр intType)
Код Значение Код Значение 0 SUCCESS 4 INFORMATION 1 ERROR 8 AUDIT_SUCCESS 2 WARNING 16 AUDIT_FAILUREВ следующем примере производится протоколирование работы сценария регистрации (здесь предполагается, что если этот сценарий отработал успешно, то функция RunLoginScript возвращает true, в противном случае — false):
var WshShell = WScript.CreateObject("WScript.Shell");
rc = RunLoginScript();
if (rc) WshShell.LogEvent(0,"Logon Script Completed Successfully");
else WshShell.LogEvent(1,"Logon Script failed");
Метод Popup
Если в методе не задан параметр strTitle, то по умолчанию заголовком окна будет "Windows Script Host."
Параметр nType может принимать те же значения, что и в функции MessageBox из Microsoft Win32 API. В табл. 1.10 описаны некоторые возможные значения параметра nType и их смысл (полный список значений этого параметра можно посмотреть в описании функции MessageBox в документации по функциям Windows API).
Таблица 1.10. Типы кнопок и иконок для метода Popup
Значение nType Константа Visual Basic Описание 0 vbOkOnly Выводится кнопка OK 1 vbOkCancel Выводятся кнопки OK и Отмена (Cancel) 2 vbAbortRetryIgnore Выводятся кнопки Стоп (Abort), Повтор (Retry) и Пропустить (Ignore) 3 vbYesNoCancel Выводятся кнопки Да (Yes), Нет (No) и Отмена (Cancel) 4 vbYesNo Выводятся кнопки Да (Yes) и Нет (No) 5 vbRetryCancel Выводятся кнопки Повтор (Retry) и Отмена (Cancel) 16 vbCritical Выводится значок Stop Mark 32 vbQuestion Выводится значок Question Mark 48 vbExclamation Выводится значок Exclamation Mark 64 vbInformation Выводится значок Information MarkЗамечаниеВ сценариях, написанных на языке VBScript, можно непосредственно использовать именованные константы типа vbOkCancel без предварительного их объявления. Для того чтобы использовать такие константы в JScript-сценариях, их нужно предварительно объявить как переменные и присвоить нужные значения (например, var vbOkCancel=1;). Естественно, в любых сценариях вместо имен констант можно использовать их числовые значения.
В методе Popup можно комбинировать значения параметра, приведенные в табл. 1.10. Например, в результате выполнения следующего сценария:
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Popup("Копирование завершено успешно", 5, "Ура",65);
на экран будет выведено информационное окно, показанное на рис. 1.11, которое автоматически закроется через 5 секунд.
Р РёСЃ. 1.11. Рнформационное РѕРєРЅРѕ, созданное методом Popup
Метод Popup возвращает целое значение, с помощью которого можно узнать, какая именно кнопка была нажата для выхода (табл. 1.11).