我正在使用 Windows Server 2008,我想获取 DNS 服务器。所以我认为最快的方法应该是执行 ipconfig,然后使用 TProcess 解析它的输出。
我想出了这段代码:
var
proces : TProcess;
begin
...
proces := TProcess.Create(nil);
proces.Executable := 'ipconfig';
proces.Options := proces.Options + [poWaitOnExit,poUsePipes];
try
proces.Execute;
except
proces.Free;
end;
SetLength(rez,proces.Output.NumBytesAvailable);
proces.Output.Read(rez[1],proces.Output.NumBytesAvailable);
ShowMessage(rez);
该代码有效,但是在我手动关闭控制台窗口后。我尝试过poNoConsole
但结果仍然相同,进程 ipconfig 在任务管理器中仍然处于活动状态。
为什么控制台应用程序 ipconfig 没有终止?如果我运行它,它会在吐出标准输出信息后退出。
是我的配置吗?这是一个错误吗?帮助!谢谢 :)