查看完整版本: [-- qt如何添加新的系统环境变量 --]

QTCN开发网 -> Qt基础编程 -> qt如何添加新的系统环境变量 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

lgs_shandong 2017-09-22 09:59

qt如何添加新的系统环境变量

QProcess process;
QProcessEnvironment *proEnv = new QProcessEnvironment();
    proEnv->insert(strRegKey, strEnvi);
    process.setProcessEnvironment(*proEnv);
    delete proEnv;
这样只对本进程有效,程序结束就没有了,qt如何实现在系统环境变量中添加新的选项?

qazaq408 2017-09-22 12:31
什么系统。。。。linuix/unix系统的话在进程内修改环境变量,只在该进程内有效,这没毛病,如果要改用户的环境变量,直接修改.pro文件
win俺就不知道了

lgs_shandong 2017-09-22 14:18
win系统,想在程序中用代码修改系统环境变量,实现不了
QString str = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
QSettings setTest(str, QSettings::NativeFormat);
QStringList strList = setTest.childGroups();
可以得到所有的环境变量,就是不能添加,是不是qt不提供这个功能,虽然可以修改注册表,但无法在注册表中的HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment这个位置添加新的选项。

lgs_shandong 2017-09-23 14:42
算是解决,通过qsettings,将内容放到HKEY_CURRENT_USER\\Environment下,即当前用户的环境变量中


查看完整版本: [-- qt如何添加新的系统环境变量 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled