Нужно при загрузки программы менять разрешение экрана, а при выходе менять на пользовательское.
Вот как пытался сделать (чтобы меньше писать, считаю, что пользовательское разрешение это 1024x768)
#include "frmMenu.h"
#include "windows.h"
#include <QPushButton>
frmMenu::frmMenu(){
DEVMODE dm;
memset(&dm,0,sizeof(DEVMODE));
dm.dmSize=sizeof(DEVMODE);
dm.dmPelsWidth=800;
dm.dmPelsHeight=600;
dm.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(&dm,CDS_UPDATEREGISTRY);
this->setWindowFlags(Qt::FramelessWindowHint);
this->setWindowState(Qt::WindowFullScreen|Qt::WindowMaximized);
QPushButton *pushButton = new QPushButton(tr("exit"),this);
pushButton->move(100,100);
connect(pushButton,SIGNAL(clicked()),this,SLOT(myExit()));
}
void frmMenu::myExit(){
DEVMODE dm;
memset(&dm,0,sizeof(DEVMODE));
dm.dmSize=sizeof(DEVMODE);
dm.dmPelsWidth=1024;
dm.dmPelsHeight=768;
dm.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(&dm,CDS_UPDATEREGISTRY);
close();
}
При загрузки, разрешение меняется и при выходе восстанавливается. Но все окна (проводник, браузер и т.д.) которые были на рабочем столе сузились или сдвинулись. Как сделать правильную смену экрана во время работы своего приложения ?