【问题标题】:Execute a hidden process to retrieve the output, without creating a textfile?执行隐藏过程以检索输出,而不创建文本文件?
【发布时间】:2014-03-24 16:11:33
【问题描述】:

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

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

【问题讨论】:

标签: vbscript exec output wsh powercfg


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多