QProcess setEnvironment не имеет никакого эффекта? - PullRequest
0 голосов
/ 17 января 2009

Я пытаюсь запустить программу, используя QProcess (Qt4.4 на vista64bit, разрабатывается в MSVC2005). Программа не находится в пути, поэтому я попытался добавить каталог, в котором находится программа, в среду QProcess, способом, подобным тому, что продемонстрировано в документации QProcess :: setEnvironment .

К сожалению, программа не запускается, по-видимому, потому что исполняемый файл не может быть найден в пути. Это известная проблема? Я делаю что-то не так?

Я проверил, что путь установлен, распечатав среду QProcess после добавления пути.

Существует два обходных пути: первый - запустить программу с полным путем, второй - добавить каталог в путь перед запуском исполняемого файла, но я тоже не хочу его использовать.

1 Ответ

2 голосов
/ 19 января 2009

QProcess :: setEnvironment () влияет только на среду вызываемого процесса, но не на контекст, в котором обрабатывается порождение. Вам нужно изменить текущую среду, чтобы найти приложение, которое вы порождаете (используя для начала :: SetEnvironmentVariable ()).

Поиск файла приложения описан в документации CreateProcess API.

Проверьте этот указатель для примера сценария.

...