执行隐藏进程以检索输出,而无需创建文本文件



我正在尝试执行一个隐藏的进程来检索输出。

对于此任务,我正在尝试使用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 并转储到临时文件中可能是您尝试执行的操作的最佳选择。

相关内容

  • 没有找到相关文章

最新更新