0

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

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

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

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

4

1 回答 1

2

QProcess::setEnvironment() 只影响正在生成的进程的环境,而不影响处理生成的上下文。您需要更改当前环境,以便可以找到您正在生成的应用程序(使用 ::SetEnvironmentVariable() 作为初学者)。

CreateProcess API 的文档中概述了应用程序文件查找。

检查此指针以获取示例场景。

于 2009-01-19T12:05:55.393 回答