要實現開機自啓動,主要是將應用程序添加到註冊表中。
定義註冊表
#define AUTO_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
開機自啓動,採用QSetting的方式將其寫入,通過傳入isstart來設置是否自啓動
void SetMyAppAutoRun(bool isstart)
{
/* 獲取應用名稱 */
QString application_name = QApplication::applicationName();
/* 創建QSetting, 需要添加QSetting頭文件 */
QSettings *settings = new QSettings(AUTO_RUN, QSettings::NativeFormat);
if(isstart){
/* 找到當前運行目錄的目錄 */
QString application_path = QApplication::applicationFilePath();
/* 寫入註冊表 */
settings->setValue(application_name, application_path.replace("/", "\\"));
}
else {
/* 移除 */
settings->remove(application_name);
}
}