Windows程序设计:GetSystemMetrics函数介绍

GetSystemMetrics函数检索指定的系统参数。注意:由GetSystemMetrics函数检索到的所有参数都以像素pixels为尺寸。

语法:

int WINAPI GetSystemMetrics(
  __in  int nIndex
);

参数nIndex是将要检索的系统参数,其值可以下表中的值之一。前缀SM_CX表示宽度,SM_CY表示高度。所有返回值为Boolean的以True代表非0值,FALSE代表0值。

如果函数执行成功,返回值是所需系统参数。否则返回0。在此处函数GetLastError并不提供更多信息。

Value Meaning
SM_ARRANGE 返回是否预备最小化
SM_CLEANBOOT 返回系统启动方式:
      0 正常启动
      1 安全模式启动
      2 网络安全模式启动
SM_CMONITORS 返回显示器数
SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回0,则系统中没有安装鼠标
SM_CXBORDER  
SM_CYBORDER

返回以相素值为单位的Windows窗口边框的宽度和高度,如果Windows的为3D形态,则等同于SM_CXEDGE和SM_CYEDGE参数

SM_CXCURSOR  
SM_CYCURSOR 返回以相素值为单位的标准光标的宽度和高度
SM_CXDLGFRAME  
SM_CYDLGFRAME 等同与SM_CXFIXEDFRAME和SM_CYFIXEDFRAME
SM_CXDOUBLECLK  
SM_CYDOUBLECLK 以相素值为单位的双击有效的矩形区域
SM_CXDRAG  
SM_CYDRAG  
SM_CXEDGE  
SM_CYEDGE 以相素值为单位的3D边框的宽度和高度,相当于Windows为3D形态时的
SM_CXBORDER和SM_CYBORDER
SM_CXFIXEDFRAME 围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度。
水平Border的高度
SM_CYFIXEDFRAME 围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度。
垂直Border的宽度
SM_CXFOCUSBORDER DrawFocusRect绘制的焦点矩形的左、右边缘的宽度
SM_CYFOCUSBORDER DrawFocusRect绘制的焦点矩形的上、下边缘的高度
SM_CXFRAME  
SM_CYFRAME 等同于SM_CXSIZEFRAME和SM_CYSIZEFRAME
SM_CXFULLSCREEN  
SM_CYFULLSCREEN 全屏幕窗口的窗口区域的宽度和高度
SM_CXHSCROLL 水平滚动条上箭头的宽度
SM_CYHSCROLL 水平滚动条的高度
SM_CXHTHUMB 以相素为单位的水平滚动条上的滑动块宽度
SM_CXICON  
SM_CYICON 系统缺省的图标的高度和宽度(一般为32*32)
SM_CXICONSPACING  
SM_CYICONSPACING 以大图标方式查看Item时图标之间的间距,这个距离总是大于等于SM_CXICON 和 SM_CYICON
SM_CXMAXIMIZED  
SM_CYMAXIMIZED 处于顶层的最大化窗口的缺省尺寸
SM_CXMAXTRACK  
SM_CYMAXTRACK 具有可改变尺寸边框和标题栏的窗口的缺省最大尺寸,如果窗口大于这个尺寸,窗口是不可移动的
SM_CXMENUCHECK  
SM_CYMENUCHECK 以相素为单位计算的菜单选中标记位图的尺寸
SM_CXMENUSIZE  
SM_CYMENUSIZE 以相素计算的菜单栏按钮的尺寸
SM_CXMIN  
SM_CYMIN 窗口所能达到的最小尺寸
SM_CXMINIMIZED  
SM_CYMINIMIZED 正常的最小化窗口的尺寸
SM_CXMINSPACING  
SM_CYMINSPACING  
SM_CXMINTRACK  
SM_CYMINTRACK 最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动
SM_CXPADDEDBORDER The amount of border padding for captioned windows, in pixels.
SM_CXSCREEN  
SM_CYSCREEN 以相素为单位计算的屏幕尺寸
SM_CXSIZE  
SM_CYSIZE 以相素计算的标题栏按钮的尺寸
SM_CXSIZEFRAME  
SM_CYSIZEFRAME 围绕可改变大小的窗口的边框的厚度
SM_CXSMICON  
SM_CYSMICON 以相素计算的小图标的尺寸,小图标一般出现在窗口标题栏上
SM_CXSMSIZE  
SM_CYSMSIZE 小型标题按钮的宽度和高度
SM_CXVIRTUALSCREEN  
SM_CYVIRTUALSCREEN  
SM_CXVSCROLL 以相素计算的垂直滚动条的宽度
SM_CYVSCROLL 垂直滚动条上箭头的高度
SM_CYCAPTION 以相素计算的普通窗口标题的高度
SM_CYMENU 以相素计算的单个菜单条的高度
SM_CYVTHUMB 以相素计算的垂直滚动条中滚动块的高度
SM_DBCSENABLED 如果为TRUE或不为0的值表明系统安装了双字节版本的USER.EXE,为FALSE或0则不是
SM_DEBUG 如果为TRUE或不为0的值表明系统安装了debug版本的USER.EXE,为FALSE或0则不是
SM_DIGITIZER 如果为TRUE或不为0的值则当前系统是Windows 7或Windows Server 2008 R2而且Tablet PC输入服务已启动; 否则不是
以下系统不支持这一值:Windows Server 2008, Windows Vista, and Windows XP/2000
SM_IMMENABLED 如果为TRUE或不为0的值则输入法管理器/输入法编辑器功能被启用,否则不被启用
SM_MAXIMUMTOUCHES 如果为TRUE或不为0的值则系统中存在数字化仪,否在不存在
SM_MEDIACENTER 如果为TRUE或不为0的值则当前系统是Windows XP, Media Center Edition, 否则不是
SM_MENUDROPALIGNMENT 如果为TRUE或不为0的值则下拉菜单是右对齐的,否则是左对齐的
SM_MIDEASTENABLED 如果为TRUE或不为0的值则系统语言是希伯来文和阿拉伯文,否则不是
SM_MOUSEPRESENT 如果为TRUE或不为0的值则安装了鼠标,否则没有安装
SM_MOUSEHORIZONTALWHEELPRESENT 如果为TRUE或不为0的值则安装了带水平滚轮的鼠标,否则没有安装
SM_MOUSEWHEELPRESENT 如果为TRUE或不为0的值则安装了滚轮鼠标,否则没有安装
SM_NETWORK 如果一个网络存在,最低有效位将被设置,否则将被清除。其他位保留供将来使用
SM_SWAPBUTTON 如果为TRUE或不为0的值则鼠标左右键交换,否则没有

你可能感兴趣的:(Windows程序设计:GetSystemMetrics函数介绍)