通过写入注册表和移除注册表信息实现软件开机自启动
void SetAutomaticSoftwareStartup(bool isBoot)
{
//QSettings提供与操作系统无关的应用程序设置,windos下通常存储在注册表中
//QSettings::NativeFormat:使用最适合平台的存储格式存储设置。
QSettings reg("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
QString strAppPath = QDir::toNativeSeparators(QCoreApplication::applicationFilePath());
QString strAppName = QFileInfo(strAppPath).baseName();
if(isBoot)
{
reg.setValue(strAppName, strAppPath);//写入注册表,开机自启动
}
else
{
reg.remove(strAppName);//从注册表移除,关闭开机自启
}
}