我正在尝试执行一个隐藏的进程来检索输出。
对于此任务,我正在尝试使用Exec方法,但是我看到的问题是我无法隐藏进程窗口?
我已经看到了一种使用 Run 方法启动隐藏过程的替代方法,然后将输出写入文本文件,然后解析文本内容,但这不是我想要的,因为我总是试图避免其他语言的不良编程实践,所以我想知道是否可以在不管理外部文本文件的创建的情况下在 VBS 中执行此操作, 只是我想简化事情,不要创建文本文件。
这是我的代码:
Response = CreateObject("WScript.Shell"). _
Exec("powercfg.exe /GetActiveScheme"). _
StdOut.ReadAll
PowerPlanName = Split(Split(Response, "(")(1), ")")(0)
PowerPlanGUID = Split(Split(Response, ":")(1))(1)
Msgbox "Information about the current energy scheme." & vbNewLine & vbNewLine & _
"Name: " & PowerPlanName & vbNewLine & _
"GUID: " & PowerPlanGUID, _
64, _
"Energy scheme (powercfg.exe)"
WScript.Quit(0)
与 Run 不同,Exec 不允许您隐藏窗口。
执行方法: http://msdn.microsoft.com/en-us/library/ateytk4a(v=vs.84).aspx
运行方法: http://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.84).aspx
但是,在临时文件中捕获数据并不是一个坏做法。在您的情况下,使用 Run 并转储到临时文件中可能是您尝试执行的操作的最佳选择。