TProcess. Запустить программу с пробелами в пути.
Добавлено: 11.03.2011 09:19:52
Здравствуйте.
Задача: запустить внешнюю программу, путь к которой содержит пробелы. Например: C:\Program Files\Internet Explorer\iexplore.exe.
Пытаюсь запустить через TProcess:
Получаю уведомление об исключении отладчика: "Project project1.exe raised exception class 'EProcess' with message: Failed to execute C:\Program Files\Internet Explorer\iexplore.exe : 5".
Думаю, что проблема в том, что из-за пробелов в пути не находится iexplore.exe. Потому что программа без пробелов в пути (C:\WINDOWS\notepad.exe) прекрасно запускается.
Пытался брать путь в двойные кавычки, в две и три одинарные кавычки -- iexplore.exe не запускается.
Подскажите, как правильно запускать внешние программы с пробелами в путях.
Спасибо.
Задача: запустить внешнюю программу, путь к которой содержит пробелы. Например: C:\Program Files\Internet Explorer\iexplore.exe.
Пытаюсь запустить через TProcess:
- Код: Выделить всё
procedure runapp;
var
AProcess: TProcess;
begin
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'C:\Program Files\Internet Explorer\iexplore.exe';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
end;
Получаю уведомление об исключении отладчика: "Project project1.exe raised exception class 'EProcess' with message: Failed to execute C:\Program Files\Internet Explorer\iexplore.exe : 5".
Думаю, что проблема в том, что из-за пробелов в пути не находится iexplore.exe. Потому что программа без пробелов в пути (C:\WINDOWS\notepad.exe) прекрасно запускается.
Пытался брать путь в двойные кавычки, в две и три одинарные кавычки -- iexplore.exe не запускается.
Подскажите, как правильно запускать внешние программы с пробелами в путях.
Спасибо.