QProcess setEnvironment não tem nenhum efeito?
Pergunta
Eu estou tentando iniciar um programa com QProcess (Qt4.4 em vista64bit, desenvolvendo em MSVC2005). O programa não está no caminho, então eu tentei adicionar o diretório do programa é para o ambiente QProcess, de um modo semelhante ao que fica demonstrado na documentação de QProcess :: setEnvironment .
Infelizmente, o programa não começar, aparentemente porque o executável não pode ser encontrado no caminho. Isto é um problema conhecido? Eu faço algo errado?
Tenho verificado que o caminho começa o jogo, imprimindo o ambiente QProcess depois de adicionar o caminho.
Há duas soluções:. A primeira é para iniciar o programa com o caminho completo, o segundo é para adicionar o diretório para o caminho antes de iniciar o executável, mas eu não quero usar qualquer
Solução
QProcess :: setEnvironment () afeta somente o ambiente do processo que está sendo gerado, e não o contexto em que a desova é tratado. Você precisa alterar o ambiente atual de modo que o aplicativo que você está desova pode ser encontrada (usando :: SetEnvironmentVariable () para começar).
pesquisa de arquivo do aplicativo é descrito na documentação do CreateProcess API.
Verifique este ponteiro para um cenário de exemplo.