Уважаемый NumLock, большое спс за отзывчивость!
Хотелось бы Вас попросить прокоментить ваш код, хотелось бы лучше его понять... т.к. использовал ранее практически как я посмотрю аналогичный код...
Код:
procedure Start(name: string);
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
if not CreateProcess(nil, PChar(name), nil, nil, False, 0, nil, nil, si, pi) then begin
ShowMessage( 'CreateProcess failed.' );
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
//ShowMessage('Done !');
end;
Код:
if form1.CheckBox4.Checked=true then Start(Rn[1,2]+Rn[4,1]+'7Zip\Inst7z.bat');
и на разных ПК и разных ОС (winXP, win7), то стартует, то выдаёт по не понятной мне закономерности "CreateProcess failed" (я так понимаю что CreateProcess не отрабатывал в какие то моменты) может у меня всё же код кривой? поможите чем сможите...
А так же интересно, почему не отрабатывает все же мой вариант, есть предположения?