StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := Visibility; if not CreateProcess(nil, zAppName, { указатель командной строки } nil, { указатель на процесс атрибутов безопасности } nil, { указатель на поток атрибутов безопасности } false, { флаг родительского обработчика } CREATE_NEW_CONSOLE or { флаг создания } NORMAL_PRIORITY_CLASS, nil, { указатель на новую среду процесса } nil, { указатель на имя текущей директории } StartupInfo, { указатель на STARTUPINFO } ProcessInfo) then Result := -1 { указатель на PROCESS_INF }
else begin WaitforSingleObject(ProcessInfo.hProcess,INFINITE); GetExitCodeProcess(ProcessInfo.hProcess,Result); end; end;