在使用shellexecute弹出的一个CMD命令框中顺序执行多条命令。但是要等一条命令执行完后再执行下一条命令。
我在CSDN上搜了相关的帖子,只有一个函数可用,但是不知道具体用法。函数如下
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,nil,StartupInfo,ProcessInfo) then
result:=0
else
begin
waitforsingleobject(processinfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;
这个函数是否跟ShellExecute一样弹出CMD命令框,还是在后台运行?具体的语句怎么写,是否如WinExecExW(PChar( '/K type a.log '), ' ', sw_show);
[解决办法]
如果我没理解错的话:
你可以调用一个批处理文件(.bat文件)你把要执行的内容放在批处理文件里