gpt4 book ai didi

delphi - 如何在 Delphi 中运行命令行程序?

转载 作者:行者123 更新时间:2023-12-03 14:33:52 25 4
gpt4 key购买 nike

我需要从 Delphi 软件执行 Windows“查找”命令。我尝试使用 ShellExecute 命令,但似乎不起作用。在 C 中,我会使用 system 过程,但在这里......我不知道。我想做这样的事情:

System('find "320" in.txt > out.txt');

编辑:谢谢您的回答:)我试图将“Find”作为可执行文件运行,而不是作为 cmd.exe 的参数。

最佳答案

使用ShellExecute()的示例:

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0, nil, 'cmd.exe', '/C find "320" in.txt > out.txt', nil, SW_HIDE);
Sleep(1000);
Memo1.Lines.LoadFromFile('out.txt');
end;

请注意,使用 CreateProcess() 而不是 ShellExecute() 可以更好地控制进程。

理想情况下,您还可以在辅助线程中调用它,并在进程句柄上调用 WaitForSingleObject() 以等待进程完成。示例中的 Sleep() 只是一种等待 ShellExecute() 启动的程序完成一段时间的方法 - ShellExecute()不会那样做。如果确实如此,您无法简单地打开 notepad 实例来编辑文件,ShellExecute() 将阻止您的父应用程序,直到编辑器关闭。

关于delphi - 如何在 Delphi 中运行命令行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1454501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com