VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
2013-03-04 11:39
621 查看
《VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics》和《VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》这三篇文章主要讲解在VC++下获取屏幕大小。这个功能非常简单,也比较实用。
要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用法:
函数功能:用于得到被定义的系统数据或者系统配置信息
函数原型:
// By MoreWindows( http://blog.csdn.net/MoreWindows )
int WINAPIGetSystemMetrics( int nIndex);
参数说明:
这个函数只有一个参数,不过这个参数可以取很多值。在WINUSER.H中有:
/* * GetSystemMetrics() codes *// MoreWindows( http://blog.csdn.net/MoreWindows ) */#define SM_CXSCREEN 0#define SM_CYSCREEN 1#define SM_CXVSCROLL 2#define SM_CYHSCROLL 3#define SM_CYCAPTION 4#define SM_CXBORDER 5#define SM_CYBORDER 6#define SM_CXDLGFRAME 7#define SM_CYDLGFRAME 8#define SM_CYVTHUMB 9#define SM_CXHTHUMB 10#define SM_CXICON 11#define SM_CYICON 12#define SM_CXCURSOR 13#define SM_CYCURSOR 14#define SM_CYMENU 15#define SM_CXFULLSCREEN 16#define SM_CYFULLSCREEN 17#define SM_CYKANJIWINDOW 18#define SM_MOUSEPRESENT 19#define SM_CYVSCROLL 20#define SM_CXHSCROLL 21#define SM_DEBUG 22#define SM_SWAPBUTTON 23#define SM_RESERVED1 24#define SM_RESERVED2 25#define SM_RESERVED3 26#define SM_RESERVED4 27#define SM_CXMIN 28#define SM_CYMIN 29#define SM_CXSIZE 30#define SM_CYSIZE 31#define SM_CXFRAME 32#define SM_CYFRAME 33#define SM_CXMINTRACK 34#define SM_CYMINTRACK 35#define SM_CXDOUBLECLK 36#define SM_CYDOUBLECLK 37#define SM_CXICONSPACING 38#define SM_CYICONSPACING 39#define SM_MENUDROPALIGNMENT 40#define SM_PENWINDOWS 41#define SM_DBCSENABLED 42#define SM_CMOUSEBUTTONS 43 #if(WINVER >= 0x0400)#define SM_CXFIXEDFRAME SM_CXDLGFRAME /* ;win40 name change */#define SM_CYFIXEDFRAME SM_CYDLGFRAME /* ;win40 name change */#define SM_CXSIZEFRAME SM_CXFRAME /* ;win40 name change */#define SM_CYSIZEFRAME SM_CYFRAME /* ;win40 name change */ #define SM_SECURE 44#define SM_CXEDGE 45#define SM_CYEDGE 46#define SM_CXMINSPACING 47#define SM_CYMINSPACING 48#define SM_CXSMICON 49#define SM_CYSMICON 50#define SM_CYSMCAPTION 51#define SM_CXSMSIZE 52#define SM_CYSMSIZE 53#define SM_CXMENUSIZE 54#define SM_CYMENUSIZE 55#define SM_ARRANGE 56#define SM_CXMINIMIZED 57#define SM_CYMINIMIZED 58#define SM_CXMAXTRACK 59#define SM_CYMAXTRACK 60#define SM_CXMAXIMIZED 61#define SM_CYMAXIMIZED 62#define SM_NETWORK 63#define SM_CLEANBOOT 67#define SM_CXDRAG 68#define SM_CYDRAG 69#endif /* WINVER >= 0x0400 */#define SM_SHOWSOUNDS 70#if(WINVER >= 0x0400)#define SM_CXMENUCHECK 71 /* Use instead of GetMenuCheckMarkDimensions()! */#define SM_CYMENUCHECK 72#define SM_SLOWMACHINE 73#define SM_MIDEASTENABLED 74#endif /* WINVER >= 0x0400 */#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)#define SM_MOUSEWHEELPRESENT 75#endif#if(WINVER >= 0x0500)#define SM_XVIRTUALSCREEN 76#define SM_YVIRTUALSCREEN 77#define SM_CXVIRTUALSCREEN 78#define SM_CYVIRTUALSCREEN 79#define SM_CMONITORS 80#define SM_SAMEDISPLAYFORMAT 81#endif /* WINVER >= 0x0500 */ #if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))#define SM_CMETRICS 76#else#define SM_CMETRICS 83#endif
///article/1392163.html
呵呵,够多吧,不用记,要用的时候查下MSDN就好了。由MSDN可以知道传入SM_CXSCREEN和SM_CYSCREEN就得到屏幕的宽和高。详见代码:
后面二篇《VC++获取屏幕大小第二篇物理大小GetDeviceCaps上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》将介绍使用GetDeviceCaps函数来获取屏幕的物理大小,欢迎继续浏览。
地址1:/article/1392162.html
地址2:/article/1392161.html
转载请标明出处,原文地址:/article/1392163.html
欢迎关注微博:http://weibo.com/MoreWindows
要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用法:
函数功能:用于得到被定义的系统数据或者系统配置信息
函数原型:
// By MoreWindows( http://blog.csdn.net/MoreWindows )
int WINAPIGetSystemMetrics( int nIndex);
参数说明:
这个函数只有一个参数,不过这个参数可以取很多值。在WINUSER.H中有:
/* * GetSystemMetrics() codes *// MoreWindows( http://blog.csdn.net/MoreWindows ) */#define SM_CXSCREEN 0#define SM_CYSCREEN 1#define SM_CXVSCROLL 2#define SM_CYHSCROLL 3#define SM_CYCAPTION 4#define SM_CXBORDER 5#define SM_CYBORDER 6#define SM_CXDLGFRAME 7#define SM_CYDLGFRAME 8#define SM_CYVTHUMB 9#define SM_CXHTHUMB 10#define SM_CXICON 11#define SM_CYICON 12#define SM_CXCURSOR 13#define SM_CYCURSOR 14#define SM_CYMENU 15#define SM_CXFULLSCREEN 16#define SM_CYFULLSCREEN 17#define SM_CYKANJIWINDOW 18#define SM_MOUSEPRESENT 19#define SM_CYVSCROLL 20#define SM_CXHSCROLL 21#define SM_DEBUG 22#define SM_SWAPBUTTON 23#define SM_RESERVED1 24#define SM_RESERVED2 25#define SM_RESERVED3 26#define SM_RESERVED4 27#define SM_CXMIN 28#define SM_CYMIN 29#define SM_CXSIZE 30#define SM_CYSIZE 31#define SM_CXFRAME 32#define SM_CYFRAME 33#define SM_CXMINTRACK 34#define SM_CYMINTRACK 35#define SM_CXDOUBLECLK 36#define SM_CYDOUBLECLK 37#define SM_CXICONSPACING 38#define SM_CYICONSPACING 39#define SM_MENUDROPALIGNMENT 40#define SM_PENWINDOWS 41#define SM_DBCSENABLED 42#define SM_CMOUSEBUTTONS 43 #if(WINVER >= 0x0400)#define SM_CXFIXEDFRAME SM_CXDLGFRAME /* ;win40 name change */#define SM_CYFIXEDFRAME SM_CYDLGFRAME /* ;win40 name change */#define SM_CXSIZEFRAME SM_CXFRAME /* ;win40 name change */#define SM_CYSIZEFRAME SM_CYFRAME /* ;win40 name change */ #define SM_SECURE 44#define SM_CXEDGE 45#define SM_CYEDGE 46#define SM_CXMINSPACING 47#define SM_CYMINSPACING 48#define SM_CXSMICON 49#define SM_CYSMICON 50#define SM_CYSMCAPTION 51#define SM_CXSMSIZE 52#define SM_CYSMSIZE 53#define SM_CXMENUSIZE 54#define SM_CYMENUSIZE 55#define SM_ARRANGE 56#define SM_CXMINIMIZED 57#define SM_CYMINIMIZED 58#define SM_CXMAXTRACK 59#define SM_CYMAXTRACK 60#define SM_CXMAXIMIZED 61#define SM_CYMAXIMIZED 62#define SM_NETWORK 63#define SM_CLEANBOOT 67#define SM_CXDRAG 68#define SM_CYDRAG 69#endif /* WINVER >= 0x0400 */#define SM_SHOWSOUNDS 70#if(WINVER >= 0x0400)#define SM_CXMENUCHECK 71 /* Use instead of GetMenuCheckMarkDimensions()! */#define SM_CYMENUCHECK 72#define SM_SLOWMACHINE 73#define SM_MIDEASTENABLED 74#endif /* WINVER >= 0x0400 */#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)#define SM_MOUSEWHEELPRESENT 75#endif#if(WINVER >= 0x0500)#define SM_XVIRTUALSCREEN 76#define SM_YVIRTUALSCREEN 77#define SM_CXVIRTUALSCREEN 78#define SM_CYVIRTUALSCREEN 79#define SM_CMONITORS 80#define SM_SAMEDISPLAYFORMAT 81#endif /* WINVER >= 0x0500 */ #if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))#define SM_CMETRICS 76#else#define SM_CMETRICS 83#endif
///article/1392163.html
呵呵,够多吧,不用记,要用的时候查下MSDN就好了。由MSDN可以知道传入SM_CXSCREEN和SM_CYSCREEN就得到屏幕的宽和高。详见代码:
// 获取屏幕大小 像素大小 // By MoreWindows( http://blog.csdn.net/MoreWindows ) #include <stdio.h> #include <windows.h> int main() { printf(" 获取屏幕大小 像素大小\n"); printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n"); int nScreenWidth, nScreenHeight; nScreenWidth = GetSystemMetrics(SM_CXSCREEN); nScreenHeight = GetSystemMetrics(SM_CYSCREEN); printf("屏幕大小(像素) 宽:%d 高:%d\n", nScreenWidth, nScreenHeight); return 0; }运行结果如下:
后面二篇《VC++获取屏幕大小第二篇物理大小GetDeviceCaps上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》将介绍使用GetDeviceCaps函数来获取屏幕的物理大小,欢迎继续浏览。
地址1:/article/1392162.html
地址2:/article/1392161.html
转载请标明出处,原文地址:/article/1392163.html
欢迎关注微博:http://weibo.com/MoreWindows
相关文章推荐
- 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
- VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics
- VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
- VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
- C#开发WINCE系统的PDA程序,GetSystemMetrics获取屏幕长宽以达到自适应分辨率
- c++ winform 不能调用获取屏幕分辨率函数GetSystemMetrics的问题
- VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
- VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
- VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
- VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
- Windows API 获取屏幕分辨率 GetSystemMetrics ( )
- VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
- android 正确获取屏幕像素大小
- [转]VC获取屏幕分辨率及大小相关
- VC++获取当前系统时间日期 GetSystemTime()函数的用法
- android 获取屏幕像素大小的正确方法
- SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- GetSystemMetrics Function----WIN32下获取显示器分辨率
- SystemParametersInfo (SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- WinAPI: GetSystemMetrics - 获取系统度量等数值信息