rob*_*oft 1 delphi console batch-file
我正在尝试修改一个传统的Delphi 5应用程序,以便可以从它的图标/通过资源管理器或从控制台(命令行)启动它.当它从控制台启动时,我希望程序从控制台进程中分离出来,这样控制台就可以继续执行其他指令而无需等待我的程序终止.
我想在'批处理'文件中使用它,这样我可能会;
@echo off rem step 1 - do some stuff here rem rem step 2 - launch my app c:\myfolder\myapp rem rem step 3 - do some more stuff here
并且在步骤2中启动我的应用程序后,控制台进程将继续执行到第3步.
很多年前,我确信我已经做过这件事,但我对我究竟做了什么感到困惑.我不想为我的主Windows应用程序编写一个小的控制台应用程序'启动器' - 我95%确定在'普通'Delphi GUI应用程序中有这样做的方法.
我想我可以使用vbscript或powershell或某些东西用某种'nowait'参数'执行'我的程序但是客户端熟悉批处理文件,我真的不想通过建议他改变他的脚本来打乱applecart安装额外的东西 - 无论如何我正在对可执行文件进行更改,为他勾选这个框也很棒.
任何人?:-)
pax*_*blo 14
我认为START
命令是你正在寻找的命令.它开始一个独立于控制台的过程,它是一部分,cmd.exe
因此不需要额外的软件.
但我认为GUI应用程序无论如何都这样做了.也许Delphi与MSVC不同.
打开一个控制台并输入"start /?"
.
作为itowlson
评论中的状态,GUI应用程序通常会自行分离.它是真正的cmd.exe
shell做诡计,因为它等待它完成,如果它从cmd文件运行.
因此,"notepad"
从提示符将在后台启动它,但"notepad"
在cmd文件中将等待.在cmd文件中,您需要使用:
start notepad.exe
Run Code Online (Sandbox Code Playgroud)
或者你的应用程序被叫什么(不是记事本,大概是).