【发布时间】:2013-08-09 14:00:33
【问题描述】:
我知道如果你输入
Do
msgbox("This is a msg box")
loop
然后会弹出一个不会消失的消息框。
我想要多个您可以关闭的消息框。
我该怎么做?
【问题讨论】:
-
你不能在 vanilla VBScript 中做到这一点,你为什么要这样做?
标签: vbscript modal-dialog message msgbox
我知道如果你输入
Do
msgbox("This is a msg box")
loop
然后会弹出一个不会消失的消息框。
我想要多个您可以关闭的消息框。
我该怎么做?
【问题讨论】:
标签: vbscript modal-dialog message msgbox
警告:您可能会遇到严重的延迟和/或崩溃。如果您选择继续,我不对任何损害负责。
您可以制作多次打开同一个 VBS 脚本的批处理文件。 制作记事本:
msgbox("YourTextHere")
或者如果你想循环它:
do
msgbox("YourTextHere")
loop
用你想要的任何东西替换 YourTextHere。
然后保存为.vbs
然后制作另一个记事本:
start "MessageBox" "MessageBox.vbs"
将“MessageBox”更改为您制作的消息框 VBS 的名称。
多次复制并粘贴相同的脚本以多次打开它(这样做需要您自担风险,您可能会遇到严重的延迟)。
然后保存为.bat
或者多次添加批处理文件本身,这样它就可以创建一个打开批处理文件的循环,从而可以从中打开更多脚本。 (这样做需要您自担风险,您可能会遇到严重的延迟)。
例如:
start "BatchFile" "Batchfile.bat"
将“BatchFile”更改为您创建的批处理文件的名称。
复制并粘贴多次以再次打开它(这样做需要您自担风险,您可能会遇到严重的延迟)。
到目前为止,您还好,因为您没有打开 .bat 文件。如果您尝试对其进行测试,它将打开您的 .bat 文件和消息框的多个实例,然后从新实例中打开更多实例,然后从更新的实例中打开更多实例,并重复足以使您的 PC 崩溃或滞后.
【讨论】:
您想寻找非模态对话框。您在此处弹出的消息框是模态的,这就是它们一个接一个出现的原因(对话框打开时暂停执行)。
你可以在网上找到这方面的参考资料。
Func _NoHaltMsgBox($code=0, $title = "",$text = "" ,$timeout = 0)
Run (@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(' & $code & ', '''& $title & ''', '''& $text &''',' & $timeout & ')"')
EndFunc
【讨论】:
如果您不想使用批处理文件,请尝试以下操作:
第 1 步 - 错误消息
假设您想要a=msgbox("messageboxtext")。因此,在记事本中,您将编写 a=msgbox("messageboxtext") 并将其保存为 .vbs 文件。
第 2 步 - 垃圾邮件发送者
无限
在一个新的记事本文档中,粘贴以下内容:
set shell = createobject("wscript.shell")
count = "hello world"
do until count = 1
shell.run("""C:\Users\user\Documents\error.vbs""")
loop
将 C:\Users\user\Documents\error.vbs 替换为文件的位置。将其保存为 .vbs 文件。
有限
要打开有限数量的窗口,请使用以下代码:
set shell = createobject("wscript.shell")
count = 0
do until count = 5
shell.run("""C:\Users\user\Documents\error.vbs""")
loop
将 5 替换为您希望消息产生的次数。
享受吧!
【讨论】:
您需要一个多按钮MsgBox,然后将其设置为一个值:如果按下CANCEL,则该过程将停止。
Do
spam=MsgBox("SPAM",3)
If spam = 2 Then
WScript.Quit
End If
Loop
【讨论】:
msgbox("LOL")
loop"
start "LOL.bat"
loop"
现在您有了垃圾邮件发送者。 :)
【讨论】: