Объект 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
' *************************************************************
Option Explicit
 
Dim msg, title, timeout, result
Dim WshShell, my_msg
 
msg = "Нажмите на кнопку"
title = "Работа с методом Poрuр"
 
' Создаем экземпляр класса WScript.Shell
Set WshShell = WScript.CreateObject("WScript.Shell")
 
' Выводим popup окно
result =  WshShell.Popup(msg, 5, title, vbOKCancel + vbInformation)
 
' Определяем, на что нажал пользователь
Select case result
     case 1
                 my_msg = "Кликнуто на OK " & "(Код: " & result & ")"
     case 2
                 my_msg = "Кликнуто на Отмена " & "(Код: " & result & ")"
     case else
                 my_msg = "Пользователь ничего не нажал " & "(Код: " & result & ")"
End Select
 
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.Shell
WshShell = WScript.CreateObject("WScript.Shell");
 
// Выводим popup окно
result1 =  WshShell.Popup(msg, 5, title, vbOKCancel + vbInformation);
 
// Определяем, на что нажал пользователь
switch (result1){
                 case 1: my_msg1 = "Кликнуто на OK " + "(Код: " + result1 + ")";
                 break;
                 case 2: 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.

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