使用普通C,(不是C ++ / C#/ Objective-C)如何在Windows中获得屏幕分辨率?
我的编译器是MingW(不确定是否相关)。我在网上找到的所有解决方案都是针对C ++或其他一些C变种。
答案 0 :(得分:5)
DWORD dwWidth = GetSystemMetrics(SM_CXSCREEN);
DWORD dwHeight = GetSystemMetrics(SM_CYSCREEN);
答案 1 :(得分:0)
您的问题已经得到解答:How to get the Monitor Screen Resolution from a hWnd?。
HMONITOR monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
MONITORINFO info;
info.cbSize = sizeof(MONITORINFO);
GetMonitorInfo(monitor, &info);
int monitor_width = info.rcMonitor.right - info.rcMonitor.left;
int monitor_height = info.rcMonitor.bottom - info.rcMonitor.top;
答案 2 :(得分:0)
您必须在代码中加入windows.h
才能使用Windows API。 MingW可能已经附带此头文件。
#include <windows.h>
void GetMonitorResolution(int *horizontal, int *vertical) {
*height = GetSystemMetrics(SM_CYSCREEN);
*width = GetSystemMetrics(SM_CXSCREEN);
}