关闭应用程序窗口后VBScript意外停止运行

问题描述 投票:1回答:1

我在下面编写一个vb脚本来关闭标题为“错误”的IE弹出消息。

设置wshShell = CreateObject(“ WScript.Shell”)

wshShell.AppActivate(“错误”)

wshShell.SendKeys“ {Enter}”

MsgBox“关闭”

上面的代码能够通过向其发送Enter键来成功关闭弹出窗口。但是,从不执行下一行MsgBox“ Closed”。为什么会这样呢?我需要做些什么才能使其正常工作?

编辑1:当我尝试发送Tab键而不是Enter键时,MsgBox会按预期显示。我怀疑Enter键成功关闭“错误”窗口并因此阻止了最后一行的执行时发生了某些事情。

编辑2:在sendkey和msg框之间插入延迟或任何代码行后,我可以使msg框出来。但是,我指出,等待至少20秒之后,我无法关闭msg框。我注意到只有在尝试关闭IE错误窗口时才会发生这种情况。当我尝试使用其他本地窗口时,可以关闭MsgBox。为什么会这样?

internet-explorer vbscript popupwindow
1个回答
0
投票

这是因为ENTER键立即关闭两个窗口。您应该在两个任务之间添加几秒钟的睡眠。

Set wshShell = CreateObject("WScript.Shell") wshShell.AppActivate("Error") 
Wscript.Sleep 4000
wshShell.SendKeys "{ENTER}" 
Wscript.Sleep 2000
MsgBox "Closed"
© www.soinside.com 2019 - 2024. All rights reserved.