鱼C论坛

 找回密码
 立即注册
查看: 3257|回复: 4

关于获取分辨率集合问题

[复制链接]
发表于 2015-2-2 16:34:05 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 梦幻羽羽 于 2015-2-2 16:35 编辑

在写游戏控制面板时候,遇到一个问题,我获取显卡/显示器支持的所有分辨率,但是一直苦恼于筛选显卡/显示器支持的分辨率

test.c程序
RUN结果:得到的分辨率集合,但是最小分辨率是600x480


而实际上通过window分辨率查看系统支持的分辨率最低是:800x600

所有如何对获取的分辨率列表进行是否支持的筛选


最佳答案

查看完整内容

vc得到屏幕的当前分辨率方法: 1.Windows API调用 int width = GetSystemMetrics ( SM_CXSCREEN ); int height= GetSystemMetrics ( SM_CYSCREEN ); 如果想动态自适应分辨率的变化,处理WM_DISPLAYCHANGE消息. 2.获得分辨率 BOOL EnumDisplaySettings( LPCTSTR lpszDeviceName, // display device DWORD iModeNum, // graphics mode LPDEVMODE lpDevMode // graphics mode settings ); 改变分辨率 LONG Chan ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-2-2 16:34:06 | 显示全部楼层
vc得到屏幕的当前分辨率方法:
1.Windows API调用
int width = GetSystemMetrics ( SM_CXSCREEN );
int height= GetSystemMetrics ( SM_CYSCREEN );
如果想动态自适应分辨率的变化,处理WM_DISPLAYCHANGE消息.
2.获得分辨率
BOOL EnumDisplaySettings(
LPCTSTR lpszDeviceName, // display device
DWORD iModeNum, // graphics mode
LPDEVMODE lpDevMode // graphics mode settings
);

改变分辨率
LONG ChangeDisplaySettings(
LPDEVMODE lpDevMode, // graphics mode
DWORD dwflags // graphics mode options
);
3.用GetDeviceCaps

int GetDeviceCaps(
HDC hdc, // handle to the device context
int nIndex // index of capability to query
);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-2-3 08:45:48 | 显示全部楼层
本帖最后由 只爱陌生猴 于 2015-2-3 08:47 编辑

这里有个分辨率调整工具,不知道是否有用。

Saolei.net分辨率调整工具.rar

5.95 KB, 下载次数: 0

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-2-6 01:30:06 | 显示全部楼层
只爱陌生猴 发表于 2015-2-3 08:45
这里有个分辨率调整工具,不知道是否有用。

我希望不是MFC 也不是其他版本,而是C调用API版本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-2-6 19:18:52 | 显示全部楼层
梦幻羽羽 发表于 2015-2-6 01:30
我希望不是MFC 也不是其他版本,而是C调用API版本

了解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表