1

我正在尝试执行隐藏过程来检索输出。

对于此任务,我正在尝试使用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)
4

1 回答 1

2

与 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 并转储到临时文件可能是您尝试做的最佳选择。

于 2014-02-23T14:50:05.580 回答