Проблема с запуском .exe файла через QProcess
Код:
QString programPath = "\"C:/Program Files (x86)/MyProgram/MyProgram.exe\"";
QProcess proc;
QString qsExePath = program.replace("/","\\");
bool bStarted = proc.startDetached(qsExePath);
Проблема в том, что хоть и программа запускается, но dll, которая должна найти .ini файл с конфигурацией(лежит рядом с .dll), но не может найти, хотя если запускать программу просто двойным кликом(через проводник) то все находит и запускается корректно.
В чем может быть проблема QProcess'a? Он как-то влияет на поиск .ini файла?
Можно ли сделать так, чтобы он запускал так-же, как и двойной клик по .exe файлу в проводнике?
Ответы (1 шт):
Автор решения: sepera_okeq
→ Ссылка
QProcess заставлял искать в папке программы(откуда мы и вызываем запуск .exe файла), setWorkingDirectory() помог, т.к функция возвращает рабочий каталог, в который будет входить QProcess перед запуском программы.
QString programPathDir = "\"C:/Program Files (x86)/MyProgram\"";
QString programPath = "\"C:/Program Files (x86)/MyProgram/MyProgram.exe\"";
QProcess proc;
pros.setWorkingDirectory(programPathDir);
QString qsExePath = program.replace("/","\\");
bool bStarted = proc.startDetached(qsExePath);