代码之家  ›  专栏  ›  技术社区  ›  andreas buykx

QProcess setEnvironment没有影响?

  •  0
  • andreas buykx  · 技术社区  · 17 年前

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

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

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

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

    1 回复  |  直到 17 年前
        1
  •  2
  •   deemok    17 年前

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

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

    this pointer 以一个示例场景为例。

    推荐文章