Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
' Язык: JScript
' Описание: Пример использования метода StdOut.WriteLine
'*******************************************************************
Option Explicit
Dim n,StdOut ' Объявляем переменные
n=1+2
Set StdOut=WScript.StdOut ' Сохраняем ссылку на StdOut в переменной
' Выводим строки в StdOut
StdOut.WriteLine "Это пример использования метода StdOut.WriteLine() ..."
StdOut.WriteLine "1+2=" & n
'************* Конец *********************************************
Функция MsgBox языка VBScript
В языке VBScript существует специальная функция MsgBox
, с помощью которой можно выводить информацию в диалоговое окно с несколькими кнопками; также в этом окне можно задавать заголовок и значок (рис. 2.5).

Рис. 2.5.Диалоговое окно, созданное с помощью функции MsgBox
Пример сценария, создающего такое диалоговое окно, приведен в листинге 2.11.
В языке JScript аналога функции MsgBox
нет.
'*******************************************************************
' Имя: MsgBox.vbs
' Язык: VBScript
' Описание: Пример использования функции MsgBox
'*******************************************************************
Dim Res,Text,Title ' Объявляем переменные
Text="Пример вывода строк в диалоговое" & vbCrLf & " окно VBScript"
Title="Заголовок"
' Выводим диалоговое окно на экран
Res=MsgBox(Text,vbOkCancel+vbInformation+vbDefaultButton2,Title)
' Определяем, какая из кнопок была нажата в диалоговом окне
If Res=vbOk Then
MsgBox "Нажата кнопка OK"
Else
MsgBox "Нажата кнопка Отмена"
End If
'************* Конец *********************************************
Подробное описание функции MsgBox
приведено в приложении 1. Здесь же мы отметим только то, что значением функции MsgBox
является константа, соответствующая нажатой в диалоговом окне кнопки (в нашем примере такими константами являются vbOk
и vbCancel
). Таким образом, MsgBox
может использоваться в сценариях для организации выбора пользователем одного из возможных вариантов, однако это не совсем удобно, т.к. надписи на кнопках нельзя задавать произвольным образом (можно указать только OK, Отмена, Стоп, Повтор, Пропустить, Даи Нет).
Метод Popup объекта WshShell
С помощью метода Popup
(подробное описание метода приведено в главе 1 ) можно создавать такие же диалоговые окна, как и при помощи функции MsgBox
, причем этот метод можно использовать как в VBScript-, так и в JScript-сценариях (листинги 2.12 и 2.13).
Popup
(JScript)/*******************************************************************/
/* Имя: Popup.js */
/* Язык: JScript */
/* Описание: Пример использования метода WshShell.Popup */
/*******************************************************************/
var WshShell,Res,Text,Title; //Объявляем переменные
//Инициализируем константы для диалоговых окон
var vbOkCancel=1,vbOk=1;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
Text="Пример вывода строк в диалоговое\nокно WScript";
Title="Заголовок"
//Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbOkCancel);
// Определяем, какая из кнопок была нажата в диалоговом окне
if (Res==vbOk) WshShell.Popup("Нажата кнопка OK");
else WshShell.Popup("Нажата кнопка Отмена");
/************* Конец *********************************************/
Popup
(VBScript)'*******************************************************************
' Имя: Popup.vbs
' Язык: VBcript
' Описание: Пример использования метода WshShell.Popup
'*******************************************************************
Option Explicit
Dim WshShell,Res,Text,Title ' Объявляем переменные
' Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Text="Пример вывода строк в диалоговое" & vbCrLf & "окно WScript"
Title="Заголовок"
' Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbOkCancel)
' Определяем, какая из кнопок была нажата в диалоговом окне
If (Res=vbOk) Then
WshShell.Popup "Нажата кнопка OK"
Else
WshShell.Popup "Нажата кнопка Отмена"
End If
'************* Конец *********************************************
Главным отличием метода Popup
от функции MsgBox
является наличие параметра nSecToWait
, задающего время (в секундах), по истечении которого диалоговое окно будет автоматически закрыто. Если этот параметр равен нулю, как в приведенных выше примерах, то окно будет закрыто только после нажатия какой-либо кнопки в нем.
Ввод строк текста
Для организации в сценариях диалога с пользователем необходимо уметь принимать вводимые с клавиатуры строки текста. В консольном и графическом режимах ввод информации осуществляется по-разному: при запуске сценария с помощью cscript.exe мы имеем доступ к стандартному входному потоку StdOut
, при использовании wscript.exe можно применять функцию InputBox
языка VBScript.
Ввод строк в консольном режиме
Самый простой способ ввести строку в консольном режиме предоставляет метод WScript.StdIn.ReadLine
, при использовании этого метода ввод завершается нажатием клавиши .
Отметим, что при использовании стандартного входного потока WScript.StdIn
в Windows ХР (по крайней мере в той версии, которой пользовался автор) возникает проблема, связанная с кодировкой символов кириллицы. Дело в том, что метод WScript.StdIn.ReadLine
возвращает строку в DOS-кодировке, а для вывода на экран с помощью методов WScript.StdOut.WriteLine
или WScript.Echo
строка должна быть в Windows-кодировке (в предыдущих версиях Windows метод WScript.StdOut.WriteLine
требовал строку в DOS-кодировке). Поэтому для корректного отображения символов кириллицы на экране приходится применять дополнительные функции конвертации из DOS- в Windows-кодировку. Стандартных методов или функций, предназначенных для этой цели, в языках JScript и VBScript нет, поэтому такие функции следует написать самостоятельно.
Интервал:
Закладка: