如何在继续之前等待代码运行

时间:2014-07-11 19:27:43

标签: vbscript cmd

我编写了一个vbscript,它会使用cmd自动将主题更改为我的桌面,然后在更改后关闭“Personalization”窗口。为了给我的其余代码留出足够的时间,我在一行代码后放置一个3500毫秒的计时器,以便在完成执行后运行其余部分。我想知道是否有办法取出计时器,但仍然允许个性化窗口在主题更改后自动关闭。我尝试在行尾使用“true”语句,但它似乎不起作用,窗口保持打开状态,我必须手动关闭它。我的代码如下:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""C:\Windows\Resources\Ease of Access Themes\basic.theme"""

Wscript.Sleep 3500
WshShell.AppActivate("Desktop Properties")
WshShell.Sendkeys "%FC"
WshShell.Sendkeys "{F4}"

另外,我不确定%FC和{F4}最终是什么意思(我从其他来源获得的这些行中的一些,但它当时似乎工作)。提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成此任务:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""C:\Windows\Resources\Ease of Access Themes\basic.theme"""

Wscript.Sleep 3500
WshShell.AppActivate("Desktop Properties")
WshShell.Sendkeys "%FC"

WshShell.AppActivate("Desktop Properties")
WshShell.Sendkeys "%{F4}"

话虽这么说,如果你在你的机器上运行脚本,你应该知道你的代码是做什么的。一个六行剧本,你不知道他们中的两个人是在寻找麻烦。

相关问题