2014-07-11 26 views
0

我写了一个vbscript,它会使用cmd自动将主题更改为我的桌面,然后在更改后关闭“个性化”窗口。为了给代码的其余部分留出足够的时间,我在一行代码之后放置一个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

你可以做到这一点:

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}" 

话虽这么说,如果你运行你的机器上的脚本,你应该真正了解你的代码做什么。一个六行脚本,你不知道他们两个做什么是要求麻烦。

+0

是的,我是vbs的新手,并且仍在学习,并且我查找了最后两个sendkeys的答案。我知道其中一人关上窗户,但我不明白为什么有两人。另外,这段代码与我发布的代码有什么不同?所有不同的是你重新激活窗口。我想知道是否有办法取出定时器并添加一些东西,以便在“运行”行完成后,那么它可以识别并运行代码的其余部分。谢谢你的帮助,但我很感激! – art123456

+0

@ art123456:您应该在这里阅读SendKeys文档,以便您看到不同之处:http://www.devguru.com/technologies/wsh/17420。我认为你尝试的第一件事,传递为Run的最后一个参数是正确的,可能有效,但其余的代码并没有关闭窗口。 – VBlades

相关问题