GetSystemMetrics

【勇芳软件工作室】汉化HomePreviousNext

GetSystemMetrics功能可以检索各种系统指标和系统配置设置。

系统度量是Windows显示元素的尺寸(宽度和高度)。由GetSystemMetrics检索的所有维度均为像素。

int GetSystemMetrics(

INT 【参数nIndex】//系统度量或配置设置进行检索
); 

参数

【参数nIndex】

指定要检索的系统度量或配置设置。所有SM_CX *值都是宽度。所有SM_CY *值都是高。定义了以下值:

含义
SM_ARRANGE指定系统如何布置最小化窗口的标志。有关最小化窗口的详细信息,请参阅以下备注部分。
SM_CLEANBOOT指定系统启动方式的值:

0正常启动

1故障安全启动

2网络启动故障安全

故障安全引导(也称为SafeBoot)绕过用户的启动文件。

SM_CMOUSEBUTTONS鼠标上的按钮数量,如果没有安装鼠标,则为零。
SM_CXBORDER,
SM_CYBORDER
窗口边框的宽度和高度(以像素为单位)。这相当于具有3-D外观的Windows的SM_CXEDGE值。
SM_CXCURSOR,
SM_CYCURSOR
光标的宽度和高度(以像素为单位)。这些是当前显示驱动程序支持的光标尺寸。系统无法创建其他大小的游标。
SM_CXDLGFRAME,
SM_CYDLGFRAME
与SM_CXFIXEDFRAME和SM_CYFIXEDFRAME相同。
SM_CXDOUBLECLK,
SM_CYDOUBLECLK
在双击顺序中第一次点击的位置周围的矩形的宽度和高度(以像素为单位)。第二次点击必须发生在此矩形内,系统才能双击两次点击。(两次点击也必须在指定的时间内发生。)
SM_CXDRAG,
SM_CYDRAG
以拖动点为中心的矩形的宽度和高度(以像素为单位),以允许在拖动操作开始之前鼠标指针的有限移动。这允许用户轻松地单击并释放鼠标按钮,而无需无意中启动拖动操作。
SM_CXEDGE,
SM_CYEDGE
3-D边框的尺寸(以像素为单位)。这些是SM_CXBORDER和SM_CYBORDER的3-D对应物。
SM_CXFIXEDFRAME,
SM_CYFIXEDFRAME
在具有标题但不大的窗口的周边周围的框架的厚度(以像素为单位)。SM_CXFIXEDFRAME是水平边框的宽度,SM_CYFIXEDFRAME是垂直边框的高度。

与SM_CXDLGFRAME和SM_CYDLGFRAME相同。

SM_CXFRAME,
SM_CYFRAME
与SM_CXSIZEFRAME和SM_CYSIZEFRAME相同。
SM_CXFULLSCREEN, SM_CYFULLSCREEN全屏窗口的客户区域的宽度和高度。要使屏幕部分的坐标不被托盘遮蔽,请使用SPI_GETWORKAREA值调用SystemParametersInfo函数。
SM_CXHSCROLL, SM_CYHSCROLL水平滚动条上箭头位图的宽度(以像素为单位);和水平滚动条的高度(以像素为单位)。
SM_CXHTHUMB水平滚动条中的缩略图宽度(以像素为单位)。
SM_CXICON,
SM_CYICON
图标的默认宽度和高度(以像素为单位)。这些值通常为32x32,但可能因安装的显示硬件而异。

LoadIcon功能只能加载这些维度的图标。

SM_CXICONSPACING, SM_CYICONSPACING在大图标视图中的项目的网格单元的尺寸(以像素为单位)。安排时,每个项目都适合这种尺寸的矩形。这些值始终大于或等于SM_CXICON和SM_CYICON。
SM_CXMAXIMIZED,
SM_CYMAXIMIZED
最大化顶级窗口的默认维度(以像素为单位)。
SM_CXMAXTRACK,
SM_CYMAXTRACK
具有标题和大小边框的窗口的默认最大尺寸(以像素为单位)。用户无法将窗框拖动到大于这些尺寸的尺寸。窗口可以通过处理WM_GETMINMAXINFO消息来覆盖这些值。
SM_CXMENUCHECK,
SM_CYMENUCHECK
默认菜单复选标记位图的尺寸(以像素为单位)。
SM_CXMENUSIZE,
SM_CYMENUSIZE
菜单栏按钮的尺寸(以像素为单位),例如多个文档(MIDI)儿童关闭。
SM_CXMIN,
SM_CYMIN
窗口的最小宽度和高度(以像素为单位)。
SM_CXMINIMIZED,
SM_CYMINIMIZED
正常最小化窗口的尺寸(以像素为单位)。
SM_CXMINSPACING
SM_CYMINSPACING
用于最小化窗口的网格单元的尺寸(以像素为单位)。每个最小化的窗口在布置时适合这种尺寸的矩形。这些值始终大于或等于SM_CXMINIMIZED和SM_CYMINIMIZED。
SM_CXMINTRACK, SM_CYMINTRACK窗口的最小跟踪宽度和高度(以像素为单位)。用户无法将窗框拖动到小于这些尺寸的尺寸。窗口可以通过处理WM_GETMINMAXINFO消息来覆盖这些值。
SM_CXSCREEN,
SM_CYSCREEN
屏幕的宽度和高度(以像素为单位)。
SM_CXSIZE,
SM_CYSIZE
窗口标题或标题栏中按钮的宽度和高度(以像素为单位)。
SM_CXSIZEFRAME,
SM_CYSIZEFRAME
围绕可以调整大小的窗口周边的尺寸边框的厚度(以像素为单位)。SM_CXSIZEFRAME是水平边框的宽度,SM_CYSIZEFRAME是垂直边框的高度。

与SM_CXFRAME和SM_CYFRAME相同。

SM_CXSMICON,
SM_CYSMICON
小图标的推荐尺寸(以像素为单位)。小图标通常出现在窗口标题和小图标视图中。
SM_CXSMSIZE
SM_CYSMSIZE
小字幕按钮的尺寸(以像素为单位)。
SM_CXVSCROLL, SM_CYVSCROLL垂直滚动条的宽度(以像素为单位);并且垂直滚动条上的箭头位图的高度(以像素为单位)。
SM_CYCAPTION正常字幕区域的高度(以像素为单位)。
SM_CYKANJIWINDOW对于Windows的双字节字符集版本,屏幕底部的汉字窗口的高度(以像素为单位)。
SM_CYMENU单行菜单栏的高度(以像素为单位)。
SM_CYSMCAPTION高度(以像素为单位)的小标题。
SM_CYVTHUMB垂直滚动条中拇指框的高度(以像素为单位)。
SM_DBCSENABLED如果安装了USER.EXE的双字节字符集(DBCS)版本,则为TRUE或非零;假,否则为零。
SM_DEBUG如果安装了USER.EXE的调试版本,则为TRUE或非零;假,否则为零。
SM_MENUDROPALIGNMENT如果下拉菜单相对于相应的菜单栏项目右对齐,则为TRUE或非零; FALSE,如果它们是左对齐的,则为零。
SM_MIDEASTENABLED如果系统启用了希伯来语/阿拉伯语,则为TRUE。
SM_MOUSEPRESENTTRUE or nonzero if a mouse is installed; FALSE, or zero, otherwise.
SM_MOUSEWHEELPRESENT仅Windows NT:如果安装了带轮的鼠标,则为TRUE或非零;假,否则为零。
SM_NETWORK如果存在网络,则设置最低有效位;否则,它被清除。其他位保留供将来使用。
SM_PENWINDOWS如果安装了Microsoft Windows for Pen计算扩展,则为TRUE或非零;零或假,否则。
SM_SECURE如果存在安全性,则为TRUE,否则为FALSE。
SM_SHOWSOUNDS如果用户要求应用程序在视觉上呈现信息的情况下为真或非零,否则情况将仅以可听见的形式呈现信息;假,否则为零。
SM_SLOWMACHINE如果计算机具有低端(慢)处理器,则为TRUE,否则为FALSE。
SM_SWAPBUTTON如果左右鼠标按钮的含义被交换,则为TRUE或非零;假,否则为零。

返回值

如果函数成功,则返回值是所请求的系统度量或配置设置。

如果函数失败,返回值为零。GetLastError不提供扩展错误信息。

备注

系统指标可能因显示而异。

SM_ARRANGE设置指定系统如何排列最小化的窗口,并由起始位置和方向组成。起始位置可以是以下值之一。

含义
ARW_BOTTOMLEFT从屏幕左下角开始(默认位置)。
ARW_BOTTOMRIGHT从屏幕的右下角开始。相当于ARW_STARTRIGHT。
ARW_HIDE通过将屏幕的可见区域移开来隐藏最小化的窗口。
ARW_TOPLEFT从屏幕的左上角开始。相当于ARV_STARTTOP。
ARW_TOPRIGHT从屏幕的右上角开始。相当于ARW_STARTTOP | SRW_STARTRIGHT。

要排列的方向可以是以下值之一。

含义
ARW_DOWN垂直排列,从上到下。
ARW_LEFT水平排列,从左到右。
ARW_RIGHT水平安排,从右到左。
ARW_UP垂直排列,从底部到顶部。