Qt在Windows下实现程序自启动

  在Qt中使用QSetting,我们可以很简单地访问到windows注册表,并且填写相应的启动信息,我们知道实现程序自启动最简单的方法就填写HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run这个里面的信息(当然也可以把程序填服务项里面之类的),下面简单演示一下:

 1 void App:replyAutoStartActTriggered()
 2 {
 3     bAutoStart = !bAutoStart;
 4     autoStartAct->setChecked(bAutoStart);
 5     
 6     QString appName = QApplication::applicationName();
 7     QSettings regSettings(REG_RUN,QSettings::NativeFormat);
 8     //REG_RUN is "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
 9     if(!bAutoStart)
10         regSettings.remove(appName);
11     else
12     {
13         QString appPath = QApplication::applicationFilePath();
14         regSettings.setValue(appName,appPath.replace("/","\\"));
15     }
16 }

比如我这里演示了一下用checkBox来解决是否选择自启动的问题,如果要取消自启动,直接remove即可

posted @ 2016-12-08 11:49  PhiliAI  阅读(1080)  评论(0)    收藏  举报