• GetSystemMetrics


    GetSystemMetrics函数

    含义
    SM_ARRANGE
    56

    指定系统如何布置最小化窗口的标志。有关详细信息,请参阅本主题中的备注部分。

    SM_CLEANBOOT
    67

    指定系统启动方式的值:

    • 0正常启动
    • 1故障安全启动
    • 2网络启动故障安全

    故障安全启动(也称为SafeBoot,安全模式或干净启动)绕过用户启动文件。

    SM_CMONITORS
    80

    台式机上的显示器数量。有关详细信息,请参阅本主题中的备注部分。

    SM_CMOUSEBUTTONS
    43

    鼠标的按钮数量,如果没有安装鼠标,则为零。

    SM_CONVERTIBLESLATEMODE
    0x2003

    反映笔记本电脑或平板电脑模式的状态,Slate Mode为0,否则为非零。当该系统度量改变时,

    系统通过WM_SETTINGCHANGE通过LPARAM中的“ConvertibleSlateMode” 发送广播消息。

    请注意,此系统指标不适用于台式机。在这种情况下,请使用GetAutoRotationState

    SM_CXBORDER
    5

    窗口边框的宽度,以像素为单位。这相当于具有3-D外观的Windows的SM_CXEDGE值。

    SM_CXCURSOR
    13

    光标的宽度,以像素为单位。系统无法创建其他大小的游标。

    SM_CXDLGFRAME
    7

    该值与SM_CXFIXEDFRAME相同。

    SM_CXDOUBLECLK
    36

    在双击序列中第一次点击的位置周围的矩形的宽度,以像素为单位。

    第二次点击必须发生在由SM_CXDOUBLECLK和SM_CYDOUBLECLK定义的矩形内,

    系统会考虑双击两次。两次点击也必须在指定的时间内进行。

    要设置双击矩形的宽度,调用 SystemParametersInfo与SPI_SETDOUBLECLKWIDTH。

    SM_CXDRAG
    68

    在拖动操作开始之前,鼠标指针可以移动的鼠标下方点的任意一侧的像素数。这允许用户轻松地单击并释放鼠标按钮,

    而无需无意中启动拖动操作。如果该值为负,则从鼠标下拉点的左侧减去该值,并将其添加到右侧。

    SM_CXEDGE
    45

    3-D边框的宽度,以像素为单位。该度量是SM_CXBORDER的3-D对应物。

    SM_CXFIXEDFRAME
    7

    围绕具有字幕但不大的窗口周边的框架的厚度(以像素为单位)。

    SM_CXFIXEDFRAME是水平边框的高度,SM_CYFIXEDFRAME是垂直边框的宽度。

    此值与SM_CXDLGFRAME相同。

    SM_CXFOCUSBORDER
    83

    DrawFocusRect绘制的焦点矩形的左边缘和右边缘的宽度。此值为像素。

    Windows 2000:  不支持此值。

    SM_CXFRAME
    32

    该值与SM_CXSIZEFRAME相同。

    SM_CXFULLSCREEN
    16

    主显示器上全屏窗口的客户区域的宽度,以像素为单位。要获取未被系统任务栏或应用程序桌面工具栏遮挡的屏幕部分的坐标,

    请使用SPI_GETWORKAREA值调用 SystemParametersInfo函数。

    SM_CXHSCROLL
    21

    水平滚动条上箭头位图的宽度,以像素为单位。

    SM_CXHTHUMB
    10

    水平滚动条中的拇指框的宽度,以像素为单位。

    SM_CXICON
    11

    图标的默认宽度,以像素为单位。该 LoadIcon功能可以加载只与SM_CXICON尺寸和SM_CYICON指定的图标。

    SM_CXICONSPACING
    38

    大图标视图中项目的网格单元格的宽度,以像素为单位。SM_CYICONSPACING安排时,

    每个项目都适合大小为SM_CXICONSPACING的矩形。该值始终大于或等于SM_CXICON。

    SM_CXMAXIMIZED
    61

    主显示屏上最大化顶级窗口的默认宽度(以像素为单位)。

    SM_CXMAXTRACK
    59

    具有标题和大小边框的窗口的默认最大宽度(以像素为单位)。此度量指的是整个桌面。

    用户无法将窗框拖动到大于这些尺寸的尺寸。窗口可以通过处理WM_GETMINMAXINFO消息来覆盖此值 。

    SM_CXMENUCHECK
    71

    默认菜单的宽度复选标记位图,以像素为单位。

    SM_CXMENUSIZE
    54

    菜单栏按钮的宽度,例如在多个文档界面中使用的子窗口关闭按钮,以像素为单位。

    SM_CXMIN
    28

    窗口的最小宽度(以像素为单位)。

    SM_CXMINIMIZED
    57

    最小化窗口的宽度,以像素为单位。

    SM_CXMINSPACING
    47

    用于最小化窗口的网格单元格的宽度,以像素为单位。每个最小化的窗口在布置时适合这种尺寸的矩形。

    该值始终大于或等于SM_CXMINIMIZED。

    SM_CXMINTRACK
    34

    窗口的最小跟踪宽度,以像素为单位。用户无法将窗框拖动到小于这些尺寸的尺寸。

    窗口可以通过处理WM_GETMINMAXINFO消息来覆盖此值 。

    SM_CXPADDEDBORDER
    92

    标题窗口的边框填充量,以像素为单位。

    Windows XP / 2000:  不支持此值。

    SM_CXSCREEN
    0

    主显示屏的屏幕宽度,以像素为单位。这是通过调用GetDeviceCaps获得的相同的值 ,

    如下所示:GetDeviceCaps( hdcPrimaryMonitor, HORZRES)

    SM_CXSIZE
    30

    窗口标题或标题栏中按钮的宽度,以像素为单位。

    SM_CXSIZEFRAME
    32

    围绕窗口周边的尺寸边框的厚度可以调整大小,以像素为单位。

    SM_CXSIZEFRAME是水平边框的宽度,SM_CYSIZEFRAME是垂直边框的高度。

    该值与SM_CXFRAME相同。

    SM_CXSMICON
    49

    推荐的小图标宽度,以像素为单位。小图标通常出现在窗口标题和小图标视图中。

    SM_CXSMSIZE
    52

    小字幕按钮的宽度,以像素为单位。

    SM_CXVIRTUALSCREEN
    78

    虚拟屏幕的宽度,以像素为单位。虚拟屏幕是所有显示器的边界矩形。SM_XVIRTUALSCREEN度量是虚拟屏幕左侧的坐标。

    SM_CXVSCROLL
    2

    垂直滚动条的宽度,以像素为单位。

    SM_CYBORDER
    6

    窗口边框的高度,以像素为单位。这相当于具有3-D外观的Windows的SM_CYEDGE值。

    SM_CYCAPTION
    4

    字幕区域的高度,以像素为单位。

    SM_CYCURSOR
    14

    光标的高度,以像素为单位。系统无法创建其他大小的游标。

    SM_CYDLGFRAME
    8

    该值与SM_CYFIXEDFRAME相同。

    SM_CYDOUBLECLK
    37

    在双击顺序中第一次点击的位置周围的矩形的高度,以像素为单位。

    第二次点击必须发生在由SM_CXDOUBLECLK和SM_CYDOUBLECLK定义的矩形内,系统会考虑双击两次。

    两次点击也必须在指定的时间内进行。

    要设置双击矩形的高度,调用 SystemParametersInfo与SPI_SETDOUBLECLKHEIGHT。

    SM_CYDRAG
    69

    在拖动操作开始之前,鼠标指针可以移动的鼠标下移点上方和下方的像素数。

    这允许用户轻松地单击并释放鼠标按钮,而无需无意中启动拖动操作。如果该值为负值,则从鼠标下方点的上方减去并在其下方添加。

    SM_CYEDGE
    46

    3-D边框的高度,以像素为单位。这是SM_CYBORDER的3-D对应物。

    SM_CYFIXEDFRAME
    8

    围绕具有字幕但不大的窗口周边的框架的厚度(以像素为单位)。

    SM_CXFIXEDFRAME是水平边框的高度,SM_CYFIXEDFRAME是垂直边框的宽度。

    该值与SM_CYDLGFRAME相同。

    SM_CYFOCUSBORDER
    84

    DrawFocusRect绘制的焦点矩形的顶部和底部边缘的高度 。此值为像素。

    Windows 2000:  不支持此值。

    SM_CYFRAME
    33

    该值与SM_CYSIZEFRAME相同。

    SM_CYFULLSCREEN
    17

    主显示器上全屏窗口的客户区域的高度(以像素为单位)。要获取屏幕部分的坐标不会被系统任务栏或应用程序桌面工具栏遮挡,

    请使用SPI_GETWORKAREA值调用 SystemParametersInfo函数。

    SM_CYHSCROLL
    3

    水平滚动条的高度,以像素为单位。

    SM_CYICON
    12

    图标的默认高度(以像素为单位)。该 LoadIcon功能可以加载只能与尺寸SM_CXICON和SM_CYICON图标。

    SM_CYICONSPACING
    39

    大图标视图中项目的网格单元格的高度(以像素为单位)。SM_CYICONSPACING安排时,

    每个项目都适合大小为SM_CXICONSPACING的矩形。该值始终大于或等于SM_CYICON。

    SM_CYKANJIWINDOW
    18

    对于系统的双字节字符集版本,这是屏幕底部的汉字窗口的高度(以像素为单位)。

    SM_CYMAXIMIZED
    62

    主显示屏上最大化顶级窗口的默认高度(以像素为单位)。

    SM_CYMAXTRACK
    60

    具有标题和大小边框的窗口的默认最大高度(以像素为单位)。

    此度量指的是整个桌面。用户无法将窗框拖动到大于这些尺寸的尺寸。窗口可以通过处理WM_GETMINMAXINFO消息来覆盖此值 。

    SM_CYMENU
    15

    单行菜单栏的高度(以像素为单位)。

    SM_CYMENUCHECK
    72

    默认菜单复选标记位图的高度,以像素为单位。

    SM_CYMENUSIZE
    55

    菜单栏按钮的高度,例如在多个文档界面中使用的子窗口关闭按钮,以像素为单位。

    SM_CYMIN
    29

    窗口的最小高度(以像素为单位)。

    SM_CYMINIMIZED
    58

    最小化窗口的高度,以像素为单位。

    SM_CYMINSPACING
    48

    用于最小化窗口的网格单元格的高度,以像素为单位。每个最小化的窗口在布置时适合这种尺寸的矩形。该值始终大于或等于SM_CYMINIMIZED。

    SM_CYMINTRACK
    35

    窗口的最小跟踪高度(以像素为单位)。用户无法将窗框拖动到小于这些尺寸的尺寸。窗口可以通过处理WM_GETMINMAXINFO消息来覆盖此值 。

    SM_CYSCREEN
    1

    主显示器屏幕的高度以像素为单位。这是通过调用GetDeviceCaps获得的相同的值 ,如下所示:GetDeviceCaps( hdcPrimaryMonitor, VERTRES)

    SM_CYSIZE
    31

    窗口标题或标题栏中按钮的高度,以像素为单位。

    SM_CYSIZEFRAME
    33

    围绕窗口周边的尺寸边框的厚度可以调整大小,以像素为单位。SM_CXSIZEFRAME是水平边框的宽度,SM_CYSIZEFRAME是垂直边框的高度。

    该值与SM_CYFRAME相同。

    SM_CYSMCAPTION
    51

    小字幕的高度,以像素为单位。

    SM_CYSMICON
    50

    推荐的小图标的高度,以像素为单位。小图标通常出现在窗口标题和小图标视图中。

    SM_CYSMSIZE
    53

    小字幕按钮的高度,以像素为单位。

    SM_CYVIRTUALSCREEN
    79

    虚拟屏幕的高度,以像素为单位。虚拟屏幕是所有显示器的边界矩形。SM_YVIRTUALSCREEN指标是虚拟屏幕顶部的坐标。

    SM_CYVSCROLL
    20

    垂直滚动条上箭头位图的高度(以像素为单位)。

    SM_CYVTHUMB
    9

    垂直滚动条中的拇指框的高度,以像素为单位。

    SM_DBCSENABLED
    42

    非零,如果User32.dll支持DBCS; 否则为0。

    SM_DEBUG
    22

    如果安装了User.exe的调试版本,则为非零; 否则为0。

    SM_DIGITIZER
    94

    非零,如果当前的操作系统是Windows 7或Windows Server 2008 R2,并且平板电脑输入服务启动; 否则为0.

    返回值是指定设备支持的数字转换器输入类型的位掩码。有关详细信息,请参阅注释。

    Windows Server 2008,Windows Vista和Windows XP / 2000:  不支持此值。

    SM_IMMENABLED
    82

    如果启用了输入法管理器/输入法编辑器功能,则为非零; 否则为0。

    SM_IMMENABLED指示系统是否准备好在Unicode应用程序上使用基于Unicode的IME。要确保语言相关的IME工作,

    请检查SM_DBCSENABLED和系统ANSI代码页。否则可能无法正确执行ANSI到Unicode转换,或者某些组件(如字体或注册表设置)可能不存在。

    SM_MAXIMUMTOUCHES
    95

    非零,如果系统中有数字化仪; 否则为0。

    SM_MAXIMUMTOUCHES返回系统中每个数字化仪支持的最大联系人数的最大数量。如果系统只有单触摸数字转换器,

    则返回值为1.如果系统具有多点触摸数字转换器,则返回值是硬件可提供的同时接触数。

    Windows Server 2008,Windows Vista和Windows XP / 2000:  不支持此值。

    SM_MEDIACENTER
    87

    非零,如果当前的操作系统是Windows XP,Media Center Edition,如果没有,则为0。

    SM_MENUDROPALIGNMENT
    40

    如果下拉菜单与相应的菜单栏项目对齐,则为非零; 如果菜单左对齐,则为0。

    SM_MIDEASTENABLED
    74

    如果系统启用了希伯来语和阿拉伯语,则为非零,否则为0。

    SM_MOUSEPRESENT
    19

    如果安装了鼠标,则为非零; 否则为0.该值很少为零,因为对虚拟鼠标的支持,并且由于某些系统检测端口的存在而不是存在鼠标。

    SM_MOUSEHORIZALALWHEELPRESENT
    91

    如果安装了带水平滚轮的鼠标,则为非零; 否则0。

    SM_MOUSEWHEELPRESENT
    75

    如果安装了带有垂直滚轮的鼠标,则为非零; 否则0。

    SM_NETWORK
    63

    如果存在网络,则设置最低有效位; 否则,它被清除。其他位保留供将来使用。

    SM_PENWINDOWS
    41

    如果安装了Microsoft Windows for Pen计算扩展名,则为非零; 否则为零。

    SM_REMOTECONTROL
    0x2001

    终端服务环境中使用此系统度量来确定当前的终端服务器会话是否被远程控制。如果当前会话是远程控制的,其值不为零; 否则为0。

    您可以使用终端服务管理工具,如终端服务管理器(tsadmin.msc)和shadow.exe来控制远程会话。

    当会话被远程控制时,另一个用户可以查看该会话的内容并可能与之进行交互。

    SM_REMOTESESSION
    0x1000

    该系统度量用于终端服务环境。如果调用进程与终端服务客户端会话相关联,则返回值不为零。如果调用进程与终端服务控制台会话相关联,则返回值为0。

    Windows Server 2003和Windows XP:  控制台会话不一定是物理控制台。有关更多信息,请参阅WTSGetActiveConsoleSessionId

    SM_SAMEDISPLAYFORMAT
    81

    如果所有显示器显示器具有相同的颜色格式,则为零,否则为0.两个显示器可以具有相同的位深度,

    但具有不同的颜色格式。例如,红色,绿色和蓝色像素可以用不同数量的位进行编码,或者这些位可以位于像素颜色值的不同位置。

    SM_SECURE
    44

    该系统度量应该被忽略; 它总是返回0。

    SM_SERVERR2
    89

    如果系统是Windows Server 2003 R2,则编号; 否则为0。

    SM_SHOWSOUNDS
    70

    非零,如果用户要求应用程序在视觉上呈现信息,否则将以可听见的形式呈现信息; 否则为0。

    SM_SHUTTINGDOWN
    0x2000

    非零,如果当前会话正在关闭; 否则为0。

    Windows 2000:  不支持此值。

    SM_SLOWMACHINE
    73

    非零,如果计算机有一个低端(慢)处理器; 否则为0。

    SM_STARTER
    88

    非零,如果当前操作系统是Windows 7入门版,Windows Vista Starter或Windows XP Starter Edition; 否则为0。

    SM_SWAPBUTTON
    23

    如果左右鼠标按钮的含义被交换,则为非零; 否则为0。

    SM_SYSTEMDOCKED
    0x2004

    反映对接模式的状态,Undocked Mode为0,否则为非零。当该系统度量改变时.

    系统通过WM_SETTINGCHANGE通过LPARAM中的“SystemDockMode” 发送广播消息。

    SM_TABLETPC
    86

    如果当前操作系统是Windows XP Tablet PC版,或者当前操作系统是Windows Vista或Windows 7,

    并且平板电脑输入服务启动,则为零; 否则为0. SM_DIGITIZER设置指示运行Windows 7或

    Windows Server 2008 R2的设备支持的数字化仪输入的类型。有关详细信息,请参阅注释。

    SM_XVIRTUALSCREEN
    76

    虚拟屏幕左侧的坐标。虚拟屏幕是所有显示器的边界矩形。SM_CXVIRTUALSCREEN度量是虚拟屏幕的宽度。

    SM_YVIRTUALSCREEN
    77

    虚拟屏幕顶部的坐标。虚拟屏幕是所有显示器的边界矩形。SM_CYVIRTUALSCREEN度量是虚拟屏幕的高度。

  • 相关阅读:
    Atitit.code base view 视图的实现原理
    Atitit.code base view 视图的实现原理
    Atitit。  工作流引擎的发展趋势
    Atitit. atiOrder   Order 订单管理框架的设计
    Atitit。  工作流引擎的发展趋势
    Atitit. atiOrder   Order 订单管理框架的设计
    atitit.编程语言 类与对象的 扩展机制.doc
    atitit.编程语言 类与对象的 扩展机制.doc
    Atitit.为什么小公司也要做高大上开源项目
    Atitit.为什么小公司也要做高大上开源项目
  • 原文地址:https://www.cnblogs.com/yunqie/p/6614024.html
Copyright © 2020-2023  润新知