Объект WScript.Shell метод Popup — создание диалогового окна

Объект WScript.Shell метод Popup — создание диалогового окна Объектная модель Windows Script Host

Здравствуйте читатели блога scriptcoding.ru. В статье мы рассмотрим работу с методом Popup объекта WScript.Shell, который позволяет создавать диалоговое Popup окно.

Прежде чем приступить к программированию, давайте для начала рассмотрим общий синтаксис метода Popup.

Popup(msg, timeout, title, buttons) – Данный метод являются частью объектной модели WScript.Shell  сервера Windows Script Host, и поэтому, его можно использовать как в языке JScript, так и в языке VBScript. Видим, что ему передаются следующие параметры:

msg – Данный аргумент должен содержать то сообщение, которое нужно вывести в диалоговом окне. Тут может присутствовать как строковая конструкция, переменная, так и математическое выражение.

timeout – По умолчанию, данный аргумент равен нолю. Он предназначен для задания времени, через которое произойдет закрытие Popup окна, если пользователь до этого времени сам не произведет закрытие. Значение 0 говорит, что таймаут отключен.

Title – Заголовок. Как правило, тут прописывают информацию о назначении диалогового окна, например, «Использование метода объекта wscript shell – Popup«.

Buttons – Кнопки. Тут прописываются константы, которые определяют тип и фокус, а также их количество, для языка vbscript вместо чисел, можно использовать именованные константы, также, можно их комбинировать между собой:

  • vbOkOnly — OK (0).
  • vbOkCancel — OK и Отмена (Cancel), (1).
  • vbAbortRetryIgnore — Стоп (Abort), Повтор (Retry) и Пропустить (Ignore), (2).
  • vbYesNoCancel — Да (Yes), Нет (No) и Отмена (Cancel), (3).
  • vbYesNo — Да (Yes) и Нет (No), (4).
  • vbRetryCancel — Повтор (Retry) и Отмена (Cancel), (5).
  • vbCritical — Значок Stop Mark, (16).
  • vbQuestion — Значок Question Mark, (32).
  • vbExclamation — Пиктограмма Exclamation Mark, (48).
  • vbInformation — Значок Information Mark, (64).

Стоит учитывать, что сам метод Popup wscript shell класса возвращает целое значение, которое определяет, какая кнопка была нажата:

  • -1 – ничего не было нажато в течении промежутка времени, заданного параметром timeout.
  • vbOk — OK, (1).
  • vbCancel — Отмена (Cancel), (2).
  • vbAbort — Стоп (Abort), (3).
  • vbRetry — Повтор (Retry), (4).
  • Vblgnore — Пропустить (Ignore), (5).
  • vbYes — Да (Yes), (6).
  • vbNo — Нет (No), (7).

Popup окно – приступаем к программированию

диалоговое popup окно

Хорошо, с теорией разобрались, теперь можно приступить к программированию. Для начала рассмотрим программный код на языке vbscript:

' ***********************************************************' Метод popup' Создание диалогового Popup окна' pорup_okno.vbs' *************************************************************OptionExplicit Dim msg, title, timeout, resultDim WshShell, my_msg msg = "Нажмите на кнопку"title = "Работа с методом Poрuр" ' Создаем экземпляр класса WScript.ShellSet WshShell = WScript.CreateObject("WScript.Shell"' Выводим popup окноresult =  WshShell.Popup(msg, 5, title, vbOKCancel + vbInformation) ' Определяем, на что нажал пользовательSelectcase result     case 1                 my_msg = "Кликнуто на OK " & "(Код: " & result & ")"     case 2                 my_msg = "Кликнуто на Отмена " & "(Код: " & result & ")"     caseelse                 my_msg = "Пользователь ничего не нажал " & "(Код: " & result & ")"EndSelect MsgBox my_msg

И так, давайте рассмотрим подробно данный программный код. Видим, что прежде чем использовать метод Popup надо создать ссылку на объект WScript.Shell, мы сначала объявили переменную WshShell, потом, с помощью ключевого слова set сделали ссылку на нужный класс. Переменная result будет хранить код возврата метода Popup. Мы определили, параметры диалогового окна Popup, и то, что оно должно закрыться через 5 секунд. Для обработки кода возврата мы используем цикл vbscript select case, и в зависимости от результата, записываем сообщение в переменную my_msg. В самом конце сценария мы выводим сообщение с помощью функции MsgBox, так просто проще, стоит помнить, что это родная функция языка vbscript.

Создание диалогового  окна popup

Хорошо, теперь рассмотрим аналогичный пример, но уже на языке jscript.

// ***********************************************************// Метод popup// Создание диалогового Popup окна// pорup_okno.js// ************************************************************* var msg, title, timeout, result1;var WshShell, my_msg1;var vbOKCancel =1, vbInformation =64; msg ="Нажмите на кнопку";title ="Работа с методом Poрuр"; // Создаем экземпляр класса WScript.ShellWshShell = WScript.CreateObject("WScript.Shell"); // Выводим popup окноresult1 =  WshShell.Popup(msg,5, title, vbOKCancel + vbInformation); // Определяем, на что нажал пользовательswitch(result1){                 case1: my_msg1 ="Кликнуто на OK "+"(Код: "+ result1 +")";                 break;                 case2: my_msg1 ="Кликнуто на Отмена "+"(Код: "+ result1 +")";                 break;                 default: my_msg1 ="Пользователь ничего не нажал "+"(Код: "+ result1 +")";                 break;     }WScript.Echo(my_msg1);

Скачать архив с примерами

Тут мы видим, поскольку язык jscript не позволяет использовать именованные константы, то мы их объявили как константы и присвоили им нужные числовые значения. Для обработки кода, который возвращает wscript shell popup метод, мы использовали цикл switch, смотрите «Урок 11 по JScript: Конструкция switch…case«. В конце, для вывода сообщения мы использовали стандартную функцию Echo сервера Windows Script Host.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий