关于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("/","\\")); 务必加上,对比注册表里面自启动的选项就可以发现,不进行转换也不能生效