Qt实现程序开机启动

主要原理是修改Windows的注册表来实现的,Qt的QSettings提供了访问ini,注册表的功能。

//读取注册表的信息,让程序自启动

void MainWindow::Readregedit(bool isAutoRun)
{
    QSettings *reg=new QSettings("HKEY_LOCAL_MACHINE//SOFTWARE//Microsoft"
                                 "//Windows//CurrentVersion//Run",QSettings::NativeFormat);
    //开机自动运行
    if (isAutoRun)
    {
        reg->setValue("app",QApplication::applicationFilePath());
    }
    else
    {
        reg->setValue("app","");
    }
}

 

//开机自启动,主窗体隐藏

    if ( argc>1 && (argv[1]==(char *)"//min" ))
    {
        w.hide();
    }
    else
    {
        w.showNormal();
    }
 
  
PS:开机启动的时候,小托盘图标有可能不能显示出来,可以利用资源文件里面的图标,
     作为小托盘,这样就可以解决这个问题。

你可能感兴趣的:(QT)