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).
Таблица 1.11.Возвращаемые методом Popup
значения
Значение |
Константа Visual Basic |
Описание |
-1 |
|
Пользователь не нажал ни на одну из кнопок в течение времени, заданного параметром nSecToWait |
1 |
vbOk |
Нажата кнопка OK |
2 |
vbCancel |
Нажата кнопка Отмена(Cancel) |
3 |
vbAbort |
Нажата кнопка Стоп(Abort) |
4 |
vbRetry |
Нажата кнопка Повтор(Retry) |
5 |
vbIgnore |
Нажата кнопка Пропустить(Ignore) |
6 |
vbYes |
Нажата кнопка Да(Yes) |
7 |
vbNo |
Нажата кнопка Нет(No) |
Примеры вывода информации с помощью метода Popup
представлены в главе 2 (см. листинги 2.13 и 2.14).
Читать дальше