关于QT写注册表开机自启动

注册表中权限:

1.HKEY_CURRENT_USER

2.HKEY_LOCAL_MACHINE

网上有很多帖子都是用的2,其实这样有违用户权限,而且如果不是管理员用户,会写入不成功!

代码如下:

QSettings reg("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\",QSettings::NativeFormat);
//开机自动运行
if (bAutoRun)
{
qDebug() << QApplication::applicationFilePath();
QString applicationPath = QApplication::applicationFilePath();
//reg.setValue("cdaim",QApplication::applicationFilePath());
reg.setValue("CDA",applicationPath.replace("/","\\"));
}
else
{
reg.setValue("CDA","");
}

//

reg.setValue("CDA",applicationPath.replace("/","\\")); 务必加上,对比注册表里面自启动的选项就可以发现,不进行转换也不能生效

原文地址:https://www.cnblogs.com/hermit/p/3557566.html