Qt4 QProcess setEnvironment没有影响?

Qt4 QProcess setEnvironment没有影响?,qt4,vista64,Qt4,Vista64,我正在尝试使用QProcess(vista64bit上的Qt4.4,在MSVC2005中开发)启动一个程序。程序不在路径中,因此我尝试将程序所在的目录添加到QProcess环境中,方法与的文档中演示的方法类似 不幸的是,程序没有启动,显然是因为路径中找不到可执行文件。这是一个已知的问题吗?我做错什么了吗 我已经验证了在添加路径后通过打印QProcess环境来设置路径 有两种解决方法:第一种是使用完整路径启动程序,第二种是在启动可执行文件之前将目录添加到路径中,但我不想使用这两种方法。QProce

我正在尝试使用QProcess(vista64bit上的Qt4.4,在MSVC2005中开发)启动一个程序。程序不在路径中,因此我尝试将程序所在的目录添加到QProcess环境中,方法与的文档中演示的方法类似

不幸的是,程序没有启动,显然是因为路径中找不到可执行文件。这是一个已知的问题吗?我做错什么了吗

我已经验证了在添加路径后通过打印QProcess环境来设置路径

有两种解决方法:第一种是使用完整路径启动程序,第二种是在启动可执行文件之前将目录添加到路径中,但我不想使用这两种方法。

QProcess::setEnvironment()只影响正在生成的进程的环境,而不影响处理生成的上下文。您需要更改当前环境,以便可以找到正在生成的应用程序(首先使用::SetEnvironmentVariable()。 API文档中概述了应用程序文件查找。 检查示例场景