配置文件
QSettings *configini=new QSettings("setting.ini",QSettings::IniFormat,0);
//bool autorun;
autorun=configini->value("/setfirst").toBool();//read setting.ini
configini->setValue("setfirst",autorun);//write setting.ini
delete configini;
注册表 开机启动
参考原文:http://civilnet.cn/bbs/browse.php?topicno=4356
//读取注册表的信息,让程序自启动
//主要原理是修改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:开机启动的时候,小托盘图标有可能不能显示出来,可以利用资源文件里面的图标, 作为小托盘,这样就可以解决这个问题。