Qt设置开机自启动:
#include
#include
#define REG_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
void setAutoRun(bool is_auto_run)
{
QString application_name = QApplication::applicationName();
qDebug()<<"application_name:"+application_name+QApplication::applicationFilePath();;
QSettings *settings = new QSettings(REG_RUN, QSettings::NativeFormat);
if(is_auto_run)
{
QString application_path = QApplication::applicationFilePath();
settings->setValue(application_name, application_path.replace("/", "\\"));
}
else
{
settings->remove(application_name);
}
delete settings;
}
Nsis打包程序,设置开机自启动:
同样写注册表键值:
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run""OTR" "$INSTDIR\OTR.exe"
卸载的时候删除该键值:
DeleteRegValue HKCU"Software\Microsoft\Windows\CurrentVersion\Run" "OTR"