调用*.cmd 如何判断运行结束? 我使用 ShellExecute(handle,'open','c:\myapp\a.cmd','-s','',SW_SHOWNORMAL); 来调用a.cmd现在我要在a.cmd运行结束之后显示一个message如何才能判断a.cmd已经运行结束了呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用这个函数取代你的ShellExxcuteFunction WinExecExW(CMD,WorkDir : Pchar; Visiable : integer) : DWORD;var StartupInfo : TStartupInfo; ProcessInfo : TProcessInformation;begin FillChar(StartupInfo,SizeOf(StartupInfo),#0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := Visiable; if not CreateProcess(nil, cmd, nil, nil, false, Create_new_console or Normal_priority_class, nil, WorkDir, StartupInfo, ProcessInfo) then result:=0 else begin WaitForSingleObject(Processinfo.hProcess,INFINITE); GetExitCodeProcess(ProcessInfo.hProcess,Result); end;end; 例如:WinExecExW('CMD.exe /c c:\myapp\a.cmd','c:\',SW_Hide); indy idhttp.get 跳转问题 用fastreport如何实现当值为 0 或 0.00 时显示 “-” 文本操作 “伴水”在吗 我找你有事情 看到后给我留个言 谢谢你!!!! 为什么这个复制文件函数在复制硬盘上的文件没问题,而复制光盘的文件就出现了任何文件夹(包括其中的文件)都不会被复制? 大虾们的小菜来了 百分比计算方法问题 小第有一个关于扑克游戏制作的问题? 200分--------看看你有几种方法?-----up有分。 比较indy,ics,sakemail。。。 100分求控件,请问大家,这是什么控件做的,在那里可以下载! 动态库里如何封装NMUDP控件
Function WinExecExW(CMD,WorkDir : Pchar; Visiable : integer) : DWORD;
var
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
begin
FillChar(StartupInfo,SizeOf(StartupInfo),#0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visiable;
if not CreateProcess(nil,
cmd,
nil,
nil,
false,
Create_new_console or Normal_priority_class,
nil,
WorkDir,
StartupInfo,
ProcessInfo) then
result:=0
else
begin
WaitForSingleObject(Processinfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;
WinExecExW('CMD.exe /c c:\myapp\a.cmd','c:\',SW_Hide);