procedure TForm1.runcommand(filename,para:ansistring); var WindowHandle:HWND; var commandline:ansistring; StartupInfo:TStartupInfo; ProcessInfo:TProcessInformation; begin commandline:=filename+' '+para; //showmessage(commandline); FillChar(StartupInfo,Sizeof(StartupInfo),#0); StartupInfo.cb := Sizeof(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := SW_HIDE ; if not CreateProcess(nil, pchar(commandline), nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then begin end else begin WaitforSingleObject(ProcessInfo.hProcess,INFINITE); //命令执行完后再会继续下去 end; end;
www.china-askpro.com/msg18/qa84.shtml
执行后,我的服务程序好想没有起来呀。。没有反映。具体是这样吗?启动服务程序有没有其他的条件?
声明一下:我的服务程序是好的。已经跑了好久了
var WindowHandle:HWND;
var commandline:ansistring;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
commandline:=filename+' '+para;
//showmessage(commandline);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_HIDE ; if not CreateProcess(nil,
pchar(commandline),
nil,
nil,
false,
CREATE_NEW_CONSOLE or
NORMAL_PRIORITY_CLASS,
nil,
nil,
StartupInfo,
ProcessInfo) then
begin end
else
begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
//命令执行完后再会继续下去
end;
end;