![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateProcess [D6]
Иксик © (2003-02-26 13:41:00)При запуске приложения CreateProcess"ом прогграмма останавливается на точке запуска и продолжает исполнение только после закрытия вызванной программы. Можно ли запустить приложение так, чтобы первое работало независимо от второго?
Внук (2003-02-26 14:34:00) [21]Строго, но справедливо... :)
По секрету добавлю, что "Wait" по-английски - "Ждать"
Digitman (2003-02-26 14:21:00) [22]ну и чего ты ерунду городишь ?)
ожиданием завершения стартованного приложения занимается ф-ция Waitforsingleobject(), а не CreateProcess().
Ты ж сам ее и вызвал, эту ф-цию Waitforsingleobject() !
Чего ж ты хочешь ? Пока юзер не закроет блокнот, твое приложение будет "торчать" на исполнении этой ф-ции ! На то и Waitforsingleobject().....)
Иксик (2003-02-26 14:13:00) [23]procedure TForm1.Button1Click(Sender: TObject);
var
si : Tstartupinfo;
p : Tprocessinformation;
buff : ARRAY [0..127] OF Char;
str : string;
begin
FillChar( Si, SizeOf( Si ) , 0 );
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
//Application.Minimize;
Createprocess("notepad.exe",nil,nil,nil,false,Create_default_error_mode,nil,nil,si,p);
//Здесь она останавливается
Waitforsingleobject(p.hProcess,infinite);
GetWindowText(p.hProcess, buff, sizeof(buff));
str:=strpas(buff);
showmessage(str);
Application.Restore;
end;
Digitman (2003-02-26 14:06:00) [24]что и как ты стартуешь при пом. CreateProcess() ? Конкретно ?