无法创建Windows系统环境变量

时间:2014-09-28 19:32:17

标签: windows qt environment-variables

我想创建自己的Windows系统环境变量,但我无法让我的应用程序执行此操作。 我尝试了不同的解决方案,但没有一个有效。或者只在我的应用运行时的那几秒钟工作。 这应该工作:

QProcessEnvironment qpeInfo = QProcessEnvironment::systemEnvironment();

qpeInfo.insert( "MyEnvName", "TestValue" );

或者这个:

system( QString( "set MyEnvName=Testvalue" ).toStdString().c_str() );

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

documentation for environment variables告诉您如何执行此操作:

  

调用SetEnvironmentVariable对系统环境变量没有影响。要以编程方式添加或修改系统环境变量,请将它们添加到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment注册表项,然后广播WM_SETTINGCHANGE消息,并将lParam设置为字符串"Environment"。这允许应用程序(如shell)获取更新。