VC获得显示器的分辨率、刷新频率等
来源:互联网 发布:大淘客联盟cms通过 编辑:程序博客网 时间:2024/04/24 13:37
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char Current[100];
DEVMODE dm;
dm.dmSize=sizeof(DEVMODE);
::EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
wsprintf(Current, "%s at %dx%d %dbpp %dHz ",
dm.dmDeviceName,
dm.dmPelsWidth,
dm.dmPelsHeight,
dm.dmBitsPerPel,
dm.dmDisplayFrequency);
MessageBox(NULL,Current,"显示器信息",MB_OK);
return 0;
}
在VC中创建win32程序,完整程序如上。
百度百科中EnumDisplaySettings函数介绍如下:
函数功能:该函数得到显示设备的一个图形模式设备,通过对该函数一系列的调用可以得到显示设备所有的图形模式信息。
函数原型:BOOL EnumDisplaySettings(LPCTSTR lpszDeviceName, DWORD iModeNum, LPDEVMODE lpDevMode);
参数:
lpszDeviceName:指向一个以null的结尾的字符串,该字符串指定了显示设备。此函数将获得该显示设备的图形模式信息。该参数可以为NULL。NULL值表明调用线程正运行在计算机的当前显示设备上。如果lpszDeviceName为NULL,该字符串的形式为\\.\displayx,其中x的值可以为1、2或3。对于Windows 95和Windows 98,lpszDeviceName必须为NULL。
iModeNum:表明要检索的信息类型,该值可以是一个图形模式索引,也可以是下列一值:
ENUM_CURRENT_SETTINGS:检索显示设备的当前设置。
ENUM_REGISTRY_SETTINGS:检索当前存储在注册表中的显示设备的设置。
图形模式索引值从零开始,要得到一个显示设备的所有图形模式信息,可以一系列地调用EnumDisplaySettings函数,并且iModeNum显为一个非零值时,则函数返回的信息是最近一次使用iModeNum置为零调用该函数时存储的信息。
lpDevMode:DEVMODE结构的指针,该结构存储指定图形模式的信息,在调用EnumDisplaySettings之前,设置dmSize为sizeof(DEVMODE),并且以字节为单位,设置dmDriveExtra元素为接收专用驱动数据可用的附加空间。
EnumDisplaySettings函数设置如下五个DEVMODE元素的值:dmBitsPerpel、dmPelsWidth、dmPelsHeight、dmDisplayFlags、dmDisplayFrequency。
返回值:如果成功,返回非零值;如果失败,返回零。
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
注释:如果iModeNum大于显示设备最后的图形模式索引,那么函数就会失败,如同在iModeNum参数中描述的那样,使用这种方法可以枚举显示设备所有的图形模式。
速查:Windows NT:3.51及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
- VC获得显示器的分辨率、刷新频率等
- 代码实现修改显示器分辨率和刷新频率的功能
- 更改linux显示器分辨率及刷新频率
- 修改显示器分辨率和刷新频率
- 如何在VC程序中获得当前显示器的分辨率
- 求显示器的刷新频率
- CentOS6.3x86显示器的分辨率有限或刷新频率无法调整
- CentOS6.3x86显示器的分辨率有限或刷新频率无法调整
- 用VC调整显示器的分辨率
- 为什么我的显示器的刷新频率只有60HZ ?
- 获取和修改显示器设置的分辨率和刷新速度
- VB6中改变屏幕的分辨率和刷新频率!!!
- 用VB改变屏幕的分辨率和刷新频率
- VB6中改变屏幕的分辨率和刷新频率
- VB6中改变屏幕的分辨率和刷新频率
- ubuntu中设置显示器刷新频率
- 显示器的最佳分辨率
- Fedora 显示屏幕偏移,刷新的频率太低,显示器闪的厉害的解决办法
- php5.3无法运行帝国备份王
- USACO Section 2.2 Party Lamps - 看清本质就简单!
- 一些做谱面会用上的工具
- 1121
- linux下configure命令详细介绍(备忘)
- VC获得显示器的分辨率、刷新频率等
- Android全屏显示,去除标题栏和状态栏
- POJ 2823 Sliding Window 单调队列
- 使用GNU Autoconf/Automake创建Makefile
- UIKit的类层次结构
- 今天遇见的问题
- IdentityHashMap 使用总结
- UML类图中的几个关系:关联、组合、聚合、依赖关系比较
- 同步电路设计中clock skew的分析