Qt程序开机自动运行

时间:2021-03-17 07:55:33

一、写入注册表需要管理员权限

  1.开发中生成并运行程序需要写入注册表时,应该以管理员权限打开项目;

  2.点击程序运行需要写入注册表,则应该以管理员权限打开此程序。

二、实现

void MoreSetWindow::sltCheckBoxStartStateChanged(bool checked)   //启动
{
  QSettings reg("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
  if (checked)
  {
    QString appName = QCoreApplication::applicationName(); //程序名称
    QString appPath = QCoreApplication::applicationFilePath(); //程序路径
    appPath = appPath.replace("/", "\\");     reg.setValue(appName, appPath);
  }
  else
  {
    reg.setValue("DeviceClient", "");
  }
}