主要原理是修改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:开机启动的时候,小托盘图标有可能不能显示出来,可以利用资源文件里面的图标,
作为小托盘,这样就可以解决这个问题。