Qt設置開機自啓動(不需要管理員權限也可以)

關於Qt開機自啓動方法網絡上有無數的博文總結過,這裏我再貼上這段代碼

    //NativeFormat在windows下就是系統註冊表
    QSettings nsettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat);
    qDebug() << nsettings.allKeys();
    QString napppath = QApplication::applicationFilePath();
    QString nappname = QApplication::applicationName();
    napppath = napppath.replace("/","\\");
    if(nautorun) {
        nsettings.setValue(nappname,napppath);
    }
    else {
        nsettings.remove(nappname);
    }

這段代碼可以實現我們需要的功能,但是呢。有一個很重要的問題就是需要管理員權限纔可以! 對於使用MINGW32編譯器的時候,使用管理員權限非常麻煩。

但是不要緊,有一個辦法既不要管理員權限,也可以實現開機自啓。

對之前的代碼稍微更改註冊表路徑修改爲

​
​
 QSettings nsettings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat);

關鍵就是HKEY_LOCAL_MACHINE 修改爲 HKEY_CURRENT_USER,寫入這裏是不需要管理員權限的。區別就是HKEY_CURRENT_USER僅僅對當前用戶有效。

所以建議寫入HKEY_CURRENT_USER

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章