QProcess SetEnvironment는 영향을 미치지 않습니까?
문제
QProcess (Vista64bit의 QT4.4, MSVC2005에서 개발)를 사용하여 프로그램을 시작하려고합니다. 이 프로그램은 경로에 있지 않으므로 프로그램이 QProcess 환경에있는 디렉토리를 추가하려고 시도했습니다. qprocess :: setenvironment.
불행히도 프로그램은 시작되지 않습니다. 실행 파일을 경로에서 찾을 수 없기 때문에 분명히. 이것이 알려진 문제입니까? 내가 뭔가 잘못 했나요?
경로를 추가 한 후 QProcess 환경을 인쇄하여 경로가 설정되어 있는지 확인했습니다.
두 가지 해결 방법이 있습니다. 첫 번째는 전체 경로로 프로그램을 시작하는 것입니다. 두 번째는 실행 파일을 시작하기 전에 경로에 디렉토리를 추가하는 것입니다. 그러나 어느 쪽도 사용하고 싶지 않습니다.
해결책
qprocess :: setenvironment ()는 산란이 처리되는 컨텍스트가 아니라 스폰되는 프로세스의 환경에만 영향을 미칩니다. 산란하는 앱을 찾을 수 있도록 현재 환경을 변경해야합니다 (우선 SetenvironmentVariable () 사용).
응용 프로그램 파일 조회는 문서에 요약되어 있습니다 CreateProcess API.
확인하다 이 포인터 예제 시나리오.
제휴하지 않습니다 StackOverflow