怎么用DELPHI执行一个bat文件,且之后还能在程序里关闭这个cmd窗口?

linsoo 2009-07-01 10:33:48
怎么用DELPHI执行一个bat文件,且之后还能在程序里关闭这个cmd窗口?

最近写一个程序,需要在业务代码开始之前先运行一个java写的程序,这个程序运行之后是个黑黑的cmd窗口,这是一个命令行程序

程序退出的时候,我希望可以同时向这个CMD窗口发送一些命令(Exit),使得相关java程序正常退出,然后关闭这个cmd窗口。有没有办法实现?
...全文
426 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
linsoo 2009-07-15
  • 打赏
  • 举报
回复
用DosCommand解决了~~
shuihan20e 2009-07-06
  • 打赏
  • 举报
回复
WinExec(PChar(bat),SW_HIDE)
haochin 2009-07-06
  • 打赏
  • 举报
回复
在bat里最后加上一行:
EXIT

执行完了就自动退CMD窗口了啊。
haitao 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 linsoo 的回复:]
我要运行的程序是一个驻留程序....不会自动退出的...
[/Quote]

哦,还有交互的需要啊,那就使用doscmd控件
yhf365 2009-07-02
  • 打赏
  • 举报
回复
用FindWindow找到句柄,
再用sendmessage或postmessage发送WM_CLOSE关闭之。
若关不了,就直接TerminateProcess
hongqi162 2009-07-01
  • 打赏
  • 举报
回复
WinExec(PChar(bat),SW_HIDE)
gyk120 2009-07-01
  • 打赏
  • 举报
回复
Shellexecute执行,如果查找窗口可以用进程快照,CreateToolhelp32Snapshot,遍历进程,找到了就发送WM_Close消息或者直接TermianteProcess
bdmh 2009-07-01
  • 打赏
  • 举报
回复

shellexecute(form1.handle,'open','c:\vcvarsall.bat','-s','',sw_show);
一般执行完会自动关闭
Radar2006 2009-07-01
  • 打赏
  • 举报
回复

var
BatchFileName: string;
ProcessInfo: TProcessInformation;
StartUpInfo: TStartupInfo;
begin
BatchFileName := ExtractFilePath(ParamStr(0)) + 'A.bat';
FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
StartUpInfo.wShowWindow := SW_HIDE;
if CreateProcess(nil, PChar(BatchFileName), nil, nil,
False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,
ProcessInfo) then
begin
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
end;
end;
gyk120 2009-07-01
  • 打赏
  • 举报
回复
不会自动退出那就用遍历进程的方法TerminateProcess,只要知道进程名就好办
linsoo 2009-07-01
  • 打赏
  • 举报
回复
我要运行的程序是一个驻留程序....不会自动退出的...
haitao 2009-07-01
  • 打赏
  • 举报
回复
记得默认情况下,执行完一个外部程序后,命令窗口就是自动关闭退出的
liuhuan992 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
Delphi(Pascal) code
shellexecute(form1.handle,'open','c:\vcvarsall.bat','-s','',sw_show);
一般执行完会自动关闭
[/Quote]

认为该楼一般不会错,呵呵

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧