admin管理员组

文章数量:1534918

设置Qt程序开机后自动启动

本文只讨论windows环境下,qt程序设置自启动的方法。对于linux系统,不作说明。

一.开机自启动原理

原理就是在开机启动的注册表中,增加一项即可。
win10系统的开机启动项可以通过下面方法查看:
1.按 windows键 + R,输入regedit,然后确定

2.依次展开,
HKEY_CURRENT_USER
SOFTWARE
Microsoft
Windows
Run

上图中,右边列表,就是开机启动项了。我们也可以右键菜单来新建一个启动项。

二.qt程序设置自身开机启动

通过第一点中的描述,可以知道,只需要在开机启动注册表中增加一项即可,项的值为应用程序本身的路径。根据上图,可知,注册表的项名为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

#define AUTO_RUN_KEY	"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
//设置/取消自启动   
//isStart: true(开机启动)    false(开机不启动)
void ServiceMediaPlayer::setMyAppAutoRun(bool isStart)
{
    QString application_name = QApplication::applicationName();//获取应用名称
    QSettings *settings = new QSettings(AUTO_RUN_KEY, QSettings::NativeFormat);//创建QSetting, 需要添加QSetting头文件
    if(isStart)
    {
        QString application_path = QApplication::applicationFilePath();//找到应用的目录
        settings->setValue(application_name, application_path.replace("/", "\\"));//写入注册表
    }
    else
    {
        settings->remove(application_name);		//从注册表中删除
    }
}

本文标签: 自动启动环境程序QTWindows