在后台运行任何应用程序

时间:2011-07-28 10:13:28

标签: vbscript

再次出现VBScript问题。

这是一个有效的代码

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files\TrueCrypt\TrueCrypt.exe""", 0 , false 

这完全在后台运行truecrypt,但代码非常不稳定。如果我用itunes替换路径,wmplayer就会失败。

是否有代码可以完全运行所有类型的程序隐藏?

3 个答案:

答案 0 :(得分:1)

.Run启动一个控制台('DOS Box')来执行其他一些进程/程序。您可以控制该控制台的显示模式(例如,通过将SW_HIDE == 0作为参数2传递来隐藏它),但是此其他程序对您的屏幕执行的操作取决于此过程。程序意味着静默执行(应该)接受诸如--headless或/ nogui之类的参数,或者(应该)提供合适的IPC(例如COM)接口。因此,如何在后台启动其他程序无法以“一个人的战略”的方式回答。 AFAIK,播放器提供COM / OCX接口,使用这些接口肯定胜过Sendkeys voodoo。所以google为“iTunes.Application vbscript”或“Wmplayer.OCX”。获得有关如何使用这些COM对象的一些提示。

答案 1 :(得分:0)

在此链接上获取详细解释here

答案 2 :(得分:0)

您可以尝试使用WMI Win32_Process提供程序的Create方法,而不是使用Shell Run方法 this MSDN page上的示例创建了一个配置对象,用于将GUI可执行文件的进程选项ShowWindow设置为SW_NORMAL(即1) - NOTEPAD.EXE。 在this page上看起来SW_HIDE(值为0)也是一个选项。