我正在Delphi中使用ShellExecuteExW
执行Logman.exe。我们如何捕获此函数的结果
Params := 'START '+<<DATA COLLECTOR SET NAME>>+
' -s '+ MachineIP;
' -u '+ UserName.QuotedString('"')+'
'+Password.QuotedString('"');
ZeroMemory(@ShellExecuteInfo, SizeOf(ShellExecuteInfo));
ShellExecuteInfo.cbSize := SizeOf(TShellExecuteInfo);
ShellExecuteInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
ShellExecuteInfo.Wnd := 0;
ShellExecuteInfo.lpVerb := nil;
ShellExecuteInfo.lpFile := Pchar('LOGMAN.EXE');
ShellExecuteInfo.lpParameters := PChar(StartParam);
ShellExecuteInfo.lpDirectory := nil;
ShellExecuteInfo.nShow := SW_HIDE;
ShellExecuteExW(@ShellExecuteInfo);
如果我们从命令提示符处执行START命令,则会导致 以下字符串
“命令成功完成”
我需要在上面的代码中捕获此字符串。
如果我们在命令中使用'>'运算符,则可以将输出写入 文本文件。要读取此字符串,我必须在代码中加载文件 这在我的项目中是不可接受的。
请分享您的想法以得到上面产生的字符串
通过使用任何Delphi程序ShellExecuteExW()
程序。