gpt4 book ai didi

delphi - 从Windows控制台启动一个GUI程序,然后将其设置为 'detach'

转载 作者:行者123 更新时间:2023-12-02 21:45:36 25 4
gpt4 key购买 nike

我正在尝试修改旧版 Delphi 5 应用程序,以便可以从其图标/通过资源管理器或从控制台(命令行)启动它。当它从控制台启动时,我希望程序将自身与控制台进程分离,以便控制台可以继续执行其他指令,而无需等待我的程序终止。

我想在“批处理”文件中使用它,这样我就可以了;

@echo offrem step 1 - do some stuff hereremrem step 2 - launch my appc:\myfolder\myappremrem step 3 - do some more stuff here

并且控制台进程在步骤 2 中启动我的应用程序后直接进入步骤 3。

我确信我以前做过这件事,很多年前,但我对我到底做了什么感到困惑。我不想为我的主 Windows 应用程序编写一个小型控制台应用程序“启动器” - 我 95% 确信有一种方法可以在“普通”Delphi GUI 应用程序中执行此操作。

我想我可以使用 vbscript 或 powershell 或其他东西来“执行”我的程序,并带有某种“nowait”参数,但客户熟悉批处理文件,我真的不想通过建议他更改来打扰 applecart他的脚本或安装其他东西 - 我正在对可执行文件进行更改,如果他也勾选此框,那就太棒了。

有人吗? :-)

最佳答案

我认为 START 命令就是您正在寻找的命令。它独立于控制台启动一个进程,并且它是 cmd.exe 的一部分,因此不需要额外的软件。

但我认为 GUI 应用程序无论如何都会这样做。也许Delphi 与MSVC 不同。

打开控制台并输入“start/?”

正如 itowlson 在评论中所述,GUI 应用程序通常会自行分离。这是实际的 cmd.exe shell 的诡计,如果它是从 cmd 文件运行的话,它会等待它完成。

因此,提示中的 "notepad" 将在后台启动它,但 cmd 文件中的 "notepad" 将等待。在cmd文件中,您需要使用:

start notepad.exe

或者你的应用程序的名称(大概不是记事本)。

关于delphi - 从Windows控制台启动一个GUI程序,然后将其设置为 'detach',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771451/

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