【问题标题】:How to run a command-line program and send keys while running in Delphi?在 Delphi 中运行时如何运行命令行程序并发送密钥?
【发布时间】:2023-03-17 05:47:02
【问题描述】:

我可以使用以下命令打开命令行程序:

ShellExecute(Handle, 'open', 'example.exe', nil, nil, SW_SHOWNORMAL) ;

程序等待用户输入(例如键“q”)。如何在程序运行时向程序发送密钥?

【问题讨论】:

  • 不使用ShellExecute!使用CreateProcess 并将新进程的标准输入附加到您创建的管道的读取端。将输入馈送到该管道的另一端,即写入端。这不适合胆小的人。如果您还没有熟练使用 win32,那么您最好寻找一个库。
  • 东京 10.2 中的 GetIt 包管理器提供了一个名为 DosCommand 的库,它提供了此类功能。

标签: delphi delphi-10.2-tokyo


【解决方案1】:

根据 Uwe Raabe 的建议,

  DosCommand1.CommandLine:='example.exe';
  DosCommand1.Execute;
  ...
  DosCommand1.SendLine('q',True);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多