如何使用VBscript在Windows XP基础上关闭具有特定标题的窗口?

或者有另一种方法可以解决这个问题吗?

#1楼 票数: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Серыйфорум - 这里有很多有用且有趣的例子。 另外,请查看此主题 ,其中包含许多VBScript资源的链接,包括俄语版本的资源。

#2楼 票数: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"

  ask by Alexandr translate from so

未解决问题?本站智能推荐:

6回复

获取所有打开窗口的标题

如何检索所有打开的窗口(包括 Internet Explorer 中的选项卡等窗口)的标题?
1回复

使用vbscript访问窗口的标题

我正在尝试使用VbScript获得窗口的标题。 有什么办法可以实现? 就像我们在C#中做的方式
1回复

vbscript使窗口保持打开但不活动

过去,我使用以下vbscript来保持窗口处于活动状态。 如果窗口关闭,它也会重新打开窗口。 如何更改此设置,以使窗口始终保持打开状态并在后台运行,但其他窗口可以处于活动状态。 这是一个信息亭设置。 用户将单击链接,然后将打开一个弹出窗口。 弹出窗口将被关闭。 脚本中的快捷链接以Ch
4回复

使用vbscript激活(带到前台)特定窗口

我甚至不确定从哪里开始我的问题,我尝试了几百个东西并用谷歌搜索了几个小时但没有找到任何有用的东西 。 (我对每一个肮脏的把戏持开放态度。) 这是我的问题: 我有一个带有列表框的.hta文件,如下所示: 它列出了我的SAP Gui运行的所有会话/ modi。 我的
1回复

阅读VBScript窗口以获取答案并批量执行

我有(上面)运行CURL的批处理文件,并将输出写入txt文件。 而这个(下)VBS文件读取内容和显示信息。 正如你可以看到有我的批处理文件启动命令。 如果我在vbs窗口中单击“是”,则要执行该启动命令。 如果我的vbs窗口中单击不,我想去退出。 有可能做到吗? 如果可以,怎么
1回复

如何使用VBScirpt在已打开的CMD窗口中执行命令

我正在尝试自动执行每天必须执行的备份。 我有一个在CMD中运行的程序,需要在运行备份之前将其正确关闭。 它需要关闭的两个命令是:shutdown yes(确认操作) 然后可以关闭该CMD窗口,并且我已经编写了.bat文件来执行备份。 除了非常简单的脚本外,我从未编写过VBScri
2回复

由于断电而关闭之前,自动保存并关闭打开的Excel 2007文件

我花了几天的时间试图找到一种在发出shutdown.exe或psshutdown.exe之前保存用户打开的Excel 2007文件的方法。 我正在使用启用了UAC的Windows 7 Pro 64位计算机,包括远程限制。 我不想绕过这些安全措施。 我已经开发了可以完成这项工作的vbsc
1回复

为什么CMD窗口获取参数名称而不是参数值

我需要在CMD窗口的C:\\ Program Files \\ CONNECTION下运行以下命令 因此,编写简短的VB脚本来执行此操作 运行VB脚本后,从CMD窗口中看到以下内容 而不是我所期望的: 为什么在oShell.run 用户C参数没有得到真正的价值-