Здравствуйте!
Для запуска чужого приложения использую такую функцию:
Код:
procedure ExecApp(CommandLine: string);
var
sa : TSECURITYATTRIBUTES;
si : TSTARTUPINFO;
pi : TPROCESSINFORMATION;
begin
sa.nLength := sizeof(sa);
sa.bInheritHandle := False;
sa.lpSecurityDescriptor := nil;
ZeroMemory(@si, SizeOf(si));
ZeroMemory(@pi, SizeOf(pi));
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
si.wShowWindow := SW_SHOW;
si.hStdInput := 0;
si.hStdOutput := 0;
si.hStdError := 0;
CreateProcessW(nil, pchar(CommandLine), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, si, pi);
end;
Дочерние приложения запускаются. Но, когда я закрываю свое приложение, дочерние приложение также закрывается. Как сделать чтобы оно продолжало работать?
UPD: Сам разобрался случайно. Такое поведение только когда запускаю приложение из Delphi. Когда запускаю отдельно - все ОК. >_<