如何使用VBscript在Windows XP base中关闭具有特定标题的窗口?
还是有另一种方法可以解决这个问题吗?
答案 0 :(得分:11)
您可以使用SendKeys
方法将 Alt + F4 快捷方式发送到您要关闭的窗口。此窗口目前必须处于有效状态,因此您还需要在SendKeys
之前致电AppActivate
。
基本上,你需要这样的东西:
Set oShell = CreateObject("WScript.Shell")
oShell.AppActivate "Untitled - Notepad"
oShell.SendKeys "%{F4}"
您可能需要添加支票和小延迟,以使您的脚本更加万无一失:
Set oShell = CreateObject("WScript.Shell")
If oShell.AppActivate("Untitled - Notepad") Then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
End If
编辑: (有关VBScript资源的评论/问题的答案。)
我已经编译了一些指向VBScript网站和资源页面的链接,我希望它们会有所帮助:
<强>学习强>
<强>参考强>
其他资源
至于俄语中的VBScript资源,请查看script-coding.info和Серый форум - 这里有很多有用且有趣的例子。另外,请查看this thread,其中包含许多VBScript资源的链接,包括俄语资源。
答案 1 :(得分:0)
为那些在创建WScript.Shell对象并且无法找到解决方案后仍然试图关闭WScript.Shell对象的人发布此答案。我尝试了上述解决方案,导致MSWord 2016崩溃,不知道原因 我的Vb脚本:
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell", vbNothing)
wsh.Run "cmd.exe /C pause"
wsh.Run "taskkill /F /IM cmd.exe"