5

QT 4.8 を使用して PATH 変数を取得および設定するにはどうすればよいですか? STL から getenv を使用して PATH 変数の値を取得できることはわかっていますが、STL または Qt ベースの方法を使用して設定する方法がわかりません。

QT にその機能があるのなら、Windows API に行って使うよりも、それを知って使いたいです。

4

3 に答える 3

12

友人の Toosi 氏のおかげで、現在のプロセスの環境変数を を使用して設定し、 を使用qputenv("key", "value")して取得できますqgetenv("key")
これはQt 5.5.0でも機能します:)

于 2015-08-15T06:33:36.003 に答える
3

stdlib.h の setenv を使用して、PATH を新しい値に設定できます。

setenv("PATH","/new/path/value",1)

ただし、これは標準ヘッダーの非標準拡張であり、呼び出しプロセスによって生成されたサブプロセスにのみ影響します。生成されたすべての新しいプロセスの環境変数を変更するには、システム固有の方法を使用する必要があります。Windows の場合、PATH 変数は

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment

レジストリ キー。これにより、すべての新しいプロセスに対して PATH が設定され、再起動時に適用されます。

于 2013-07-05T14:54:58.333 に答える