WshShell.Popup メソッドを用いると、期限付きのメッセージボックスを表示させることができます。
このメッセージボックスは wscript、cscript に関係なくポップアップ表示されますので、バッチプログラム等で
使うときには少し注意が必要です。
Popup メソッドの構文を下記に示します。
buttonCode = WshShell.Popup(
message, [
timeToWait], [
title], [
type])
| message: |
メッセージボックスに表示する文字列です。 |
| timeToWait: |
省略可能。ユーザの応答を待つ時間(秒)です。 0 にすると、ユーザの応答があるまで表示されます。 |
| title: |
省略可能。メッセージボックスのタイトルです。省略時は「Windows Script Host」となります。 |
| type: |
省略可能。ボタンの種類やアイコン等を指定します。 詳細は例を参照してください。 |
| buttonCode: |
Popup メソッドの戻り値です。ユーザが押下したボタンのコードが格納されます。
timeToWait 秒以内に応答がないと、「-1」が戻り値となります。
|
Popup メソッドの例を以下に示します。
Dim WshShell, ButtonCode
Const MB_OK = &H0
Const MB_OKCANCEL = &H1
Const MB_ABORTRETRYIGNORE = &H2
Const MB_YESNOCANCEL = &H3
Const MB_YESNO = &H4
Const MB_RETRYCANCEL = &H5
Const MB_ICONSTOP = &H10
Const MB_ICONQUESTION = &H20
Const MB_ICONEXCLAMATION = &H30
Const MB_ICONINFORMATION = &H40
Const MB_DEFBUTTON1 = &H0
Const MB_DEFBUTTON2 = &H100
Const MB_DEFBUTTON3 = &H200
Const IDOK = &H1
Const IDCANCEL = &H2
Const IDABORT = &H3
Const IDRETRY = &H4
Const IDIGNORE = &H5
Const IDYES = &H6
Const IDNO = &H7
Const IDTIMEOUT = &HFFFF
Set WshShell = WScript.CreateObject("WScript.Shell")
ButtonCode = _
WshShell.Popup("朝ご飯食べました?", 5, "質問です", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2)
Select Case ButtonCode
Case IDYES
WScript.Echo "健康的でいいですね!"
Case IDNO
WScript.Echo "私もです。"
Case IDTIMEOUT
WScript.Echo "もしも~し?"
End Select
Set WshShell = Nothing