1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| function Starte(appname: string): boolean; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar(StartupInfo, SizeOf(TStartupInfo),0); StartupInfo.cb:=SizeOf(TStartupInfo); if CreateProcess(nil, PChar(appname), nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, startupinfo, ProcessInfo) then begin try waitforinputidle(processinfo.hProcess, INFINITE); finally CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); end; result:=true; end else result:=false; end; |