/*****************************************************************/
/* РРјСЏ: 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%"));
/************* Конец *********************************************/
В 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");
Если в методе не задан параметр 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).