按下按钮时 returns 一个值的输入框

An input box that returns a value when a button is pressed

基本上,我真的想要一个带有按钮 "Abort"、"Retry" 和 "Cancel" 的 VBS 文本框。取消和中止只会关闭该框,但如果按下重试,它将在我的计算机上打开一个不同的文件。

用代码的话,有点像这样:

InputBox("sampleText", "sampleText")
If RETRY==Pressed goto :loop1
:loop1
exit & start sampleText.bat
:end
Else goto :loop2
:loop2
exit
:end

此外,我很不擅长编写这样的代码,因此语法可能有误,对此深表歉意。希望我明白了这一点。

InputBox 内置对话框不允许指定您要使用的按钮,但 MsgBox 对话框可以。但是,您不能显示组合 Abort/Retry/Cancel,只能显示 Abort/Retry/Ignore.

rc = MsgBox("Message", vbAbortRetryIgnore, "Title")
Select Case rc
    Case vbAbort
        WScript.Echo "User pressed 'Abort'."
    Case vbRetry
        WScript.Echo "User pressed 'Retry'."
    Case vbIgnore
        WScript.Echo "User pressed 'Ignore'."
End Select

如果您想要一个包含 "Abort"、"Retry" 和 "Cancel" 按钮的消息框,或者一个包含 "OK" 和 [=21 以外的按钮的输入框=], 你必须建立一个 custom dialog.