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).
Читать дальше