简体   繁体   English

更改屏幕分辨率

[英]Change Screen Resolution

I've got a problem.我有问题。 I need to change screen resolution inside of my QT Project(like in some games for example).我需要在我的 QT 项目中更改屏幕分辨率(例如在某些游戏中)。 I have heard that I need to use Windows API, like following:我听说我需要使用 Windows API,如下所示:

DEVMODE devmode;
devmode.dmPelsWidth = 1024;
devmode.dmPelsHeight = 768;
devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
devmode.dmSize = sizeof(DEVMODE);

long result = ChangeDisplaySettings(&devmode, 0);
qDebug() << "RESULT OF CHANGE DISPLAY :"<< result;

But Qt says: "'DEVMODE': undeclared identifier".但是 Qt 说:“'DEVMODE':未声明的标识符”。 How can I fix it?我该如何解决? Maybe I need to include some libraries?也许我需要包括一些图书馆?

You have to include windows.h header.您必须包含 windows.h 标头。 Here is an working example.这是一个工作示例。

#include <stdio.h>
#include <windows.h>
#include <winuser.h>

int main() {

    DEVMODE devmode;
    devmode.dmPelsWidth = 1024;
    devmode.dmPelsHeight = 768;
    devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
    devmode.dmSize = sizeof(DEVMODE);

    long result = ChangeDisplaySettings(&devmode, 0);

    return 0;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM