Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
ВнизCreateProcess Найти похожие ветки
← →
alex25 (2003-09-26 10:57) [0]Уважаемые знатоки!!!
Вытащил из FAQ тему, как запустить программу и ждать, пока она отработает
**************************************************************
Как лучше сделать, если необходимо запустить внешний процесс и подождать, пока он отработает?
procedure TForm1.Button1Click(Sender: TObject);
var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline:string;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:="c:\command.com";
if not CreateProcess( nil, // No module name(use command line).
PChar(cmdline), // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
False, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent"s environment block.
nil, // Use parent"s starting directory.
si, // Pointer to STARTUPINFO structure.
pi ) // Pointer to PROCESS_INFORMATION structure.
then
begin
ShowMessage( "CreateProcess failed." );
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
ShowMessage("Done !");
end;
**************************************************************
Так вот, у меня все время "CreateProcess failed.", я пробовал другие программы запускать, с ними тоже ряд проблемм : если директория русскими буквами - Failed, еще одно приложение зависает на заставке.
← →
Nikolay M. (2003-09-26 11:06) [1]У меня еще si.dwFlags := STARTF_FORCEONFEEDBACK есть...
← →
Lexa2504 (2003-09-26 11:21) [2]Nikolay M.
Да, si.dwFlags := STARTF_FORCEONFEEDBACK в сочетании с Form.hide заработало ...
Спасибо ...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c