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的值则鼠标左右键交换,否则没有 |