开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4549|回复: 2

关于调用API切换分辨率的问题

[复制链接]

0

精华

310

贡献

70

赞扬

帖子
92
软币
2162
在线时间
261 小时
注册时间
2013-7-5

胡吹海聊

发表于 2013-8-7 08:41:22 | 显示全部楼层 |阅读模式
各位大哥早上好。
我这边遇到一个问题,就是最近老是要切换分辨率,所以就想着用弄一个可以来回切换分辨率的小程序来实现快速切。
代码如下:
DEVMODE DevMode;  
    EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&DevMode);  
        int mode=1;
        cin>>mode;
        if(mode==1)
        {
                DevMode.dmPelsWidth = 1920;  
                DevMode.dmPelsHeight = 1080;
        }
        else
        {
                DevMode.dmPelsWidth = 1366;  
                DevMode.dmPelsHeight = 768;
        }
    ChangeDisplaySettings(&DevMode, CDS_UPDATEREGISTRY);  
但是每次从1920切到1366可以执行,从1366回去1920就不可以了。
请大家帮下忙。谢谢
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
12
软币
98
在线时间
6 小时
注册时间
2014-7-4
发表于 2014-7-5 12:13:22 | 显示全部楼层
先用 EnumDisplayDevices 轮询, 找出你的显示设备支持的宽 高. 然后再设置.

你确定你显示设备能支持 1366 这样的宽度??? 而且设置分辨率的时候, 还得考虑到, 显示设备的位深和模式.
回复

使用道具 举报

0

精华

310

贡献

70

赞扬

帖子
92
软币
2162
在线时间
261 小时
注册时间
2013-7-5

胡吹海聊

 楼主| 发表于 2014-7-7 14:15:57 | 显示全部楼层
lethep 发表于 2014-7-5 12:13
先用 EnumDisplayDevices 轮询, 找出你的显示设备支持的宽 高. 然后再设置.

你确定你显示设备能支持 1366 ...

你好。
      首先我要表示感谢你的回答。
      我的显示器是LG 22EA63的,显卡是6850的。而且我手动在显示分辨率那边是可以切换的。
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-22 13:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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