2010-05-29 115 views

回答

12

可以使用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的网站和网页的资源,我希望他们会有所帮助:

上W3Schools的学习

参考

其他资源


至于俄罗斯VBScript中的资源,看看script-coding.infoСерый форум —有有很多有用和有趣的例子。另外,请看this thread,其中包含许多VBScript资源的链接,包括俄文版的资源。

+0

大它的作品!谢谢!!!你能告诉文学对vbscript或英文或俄文有用吗?) – Alexandr 2010-05-29 19:48:09

+0

有人问,它将如何在Windows 7上? 设置oShell =的CreateObject( “WScript.Shell”) 如果oShell.AppActivate( “无标题 - 记事本”),然后 WScript.Sleep 500个 oShell.SendKeys “%{F4}” 结束如果 这不是工作在Windows上7((((( – Alexandr 2010-05-29 20:19:08

+0

我想出了Windows 7下的问题! Helen谢谢。 – Alexandr 2010-05-30 09:50:20

0

发布此答案的任何人仍然坚持尝试关闭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"