GetSystemMetrics 系统指标或者配置设置

GetSystemMetrics是一个计算机函数,该函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。

The GetSystemMetrics function retrieves various system metrics (widths and heights of display elements) and system configuration settings. Alldimensions retrieved byGetSystemMetrics are inpixels.

GetSystemMetrics函数检索系统各种的指标(显示元素的宽度和高度)以及系统配置设置。所有被GetSystemMetrics 检索出尺寸都是以像素为单位的。

int GetSystemMetrics(
     int
 nIndex   // system metric or configuration setting(系统指标或者配置设置)
);

Paramenters:

nIndex:

      [in] Specifies the system metric or configuration setting to retrieve. All SM_CX* values are widths. All SM_CY* values are heights. The following values are defined.

参数:

nIndex:

     [in] 区分检索的系统指标或者配置设置。所有以SM_CX开头的值是指宽度。所有以SM_CY开头的值是指告诉。 下面是被定义的值。

int i;
i = GetSystemMetrics(SM_CLEANBOOT);//启动方式 0
i = GetSystemMetrics(SM_CMONITORS);//显示器数目 1
i = GetSystemMetrics(SM_CMOUSEBUTTONS);//鼠标上按键的数目 3
i = GetSystemMetrics(SM_CXBORDER);//窗口边框的宽度,3D外观下与SM_CXEDGE值相同 1
i = GetSystemMetrics(SM_CXCURSOR);//光标的宽度 32
i = GetSystemMetrics(SM_CXDLGFRAME);//与SM_CXFIXEDFRAME相同 3
i = GetSystemMetrics(SM_CXDOUBLECLK);//鼠标在某个矩形内连击两次被认为是双击,该矩形的宽度 4
i = GetSystemMetrics(SM_CXDRAG);//鼠标在某个矩形内单击移动被认为是拖曳,该矩形的宽度 4
i = GetSystemMetrics(SM_CXEDGE);//SM_CXBORDER在3D外观下的值 2
i = GetSystemMetrics(SM_CXFIXEDFRAME);//具有title bar和固定border的窗体的border的宽度 3
i = GetSystemMetrics(SM_CXFOCUSBORDER);//DrawFocusRect画出的矩形的左右边框的 1
i = GetSystemMetrics(SM_CXFRAME);//与SM_CXSIZEFRAME相同 4
i = GetSystemMetrics(SM_CXFULLSCREEN);//客户区(工作区)的宽度 1280
i = GetSystemMetrics(SM_CXHSCROLL);//水平滚动条上箭头位图的宽度 17
i = GetSystemMetrics(SM_CXHTHUMB);//水平滚动条滑块的宽度 17
i = GetSystemMetrics(SM_CXICON);//图标的默认宽度,LoadIcon只能载入该宽度和SM_CYICON指定高度的icon 32
i = GetSystemMetrics(SM_CXICONSPACING);//icon view中各icon的所占矩形的宽度,大于等于SM_CXICON 75
i = GetSystemMetrics(SM_CXMAXIMIZED);//最大化顶级窗口的宽度 1288
i = GetSystemMetrics(SM_CXMAXTRACK);//一个具有title bar和sizable的窗口所能达到的最大宽度 1292
i = GetSystemMetrics(SM_CXMENUCHECK);//菜单上位图的宽度 13
i = GetSystemMetrics(SM_CXMENUSIZE);//菜单条按钮的宽度,例如多文档中ChildFrame(最大化时)右上角的关闭按钮 19
i = GetSystemMetrics(SM_CXMIN);//窗体的最小宽度 123
i = GetSystemMetrics(SM_CXMINIMIZED);//最小化窗体的宽度 160
i = GetSystemMetrics(SM_CXMINSPACING);//各个最小化窗体所占的矩形的宽度,大于等于SM_MINIMIZED 160
i = GetSystemMetrics(SM_CXMINTRACK);//窗口能拖拽的最小宽度 123
i = GetSystemMetrics(SM_CXSCREEN);//屏幕宽度 1280
i = GetSystemMetrics(SM_CXSIZE);//title bar上按钮的宽度 25
i = GetSystemMetrics(SM_CXSIZEFRAME);//sizable窗体的横向border的宽度 4
i = GetSystemMetrics(SM_CXSMICON);//推荐的小图标(如title bar上的和icon view中的)的宽度 16
i = GetSystemMetrics(SM_CXSMSIZE);//caption中图标的宽度 17
i = GetSystemMetrics(SM_CXVIRTUALSCREEN);//virutal screen的宽度 1280
i = GetSystemMetrics(SM_CXVSCROLL);//垂直滚动条的宽度 17
i = GetSystemMetrics(SM_CYBORDER);// 1返回以像素值为单位的Windows窗口边框的宽度和高度,如果Windows的为3D形态,则等同于SM_CXEDGE参数
i = GetSystemMetrics(SM_CYCAPTION);// 26以像素计算的普通窗口标题的高度
i = GetSystemMetrics(SM_CYCURSOR);// 32返回以像素值为单位的标准光标的宽度和高度
i = GetSystemMetrics(SM_CYDLGFRAME);// 3等同与SM_CXFIXEDFRAME and SM_CYFIXEDFRAME
i = GetSystemMetrics(SM_CYDOUBLECLK);// 4以像素值为单位的双击有效的矩形区域
i = GetSystemMetrics(SM_CYDRAG);// 4
i = GetSystemMetrics(SM_CYEDGE);// 2以像素值为单位的3D边框的宽度和高度
i = GetSystemMetrics(SM_CYFIXEDFRAME);// 3围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度
i = GetSystemMetrics(SM_CYFOCUSBORDER);// 1
i = GetSystemMetrics(SM_CYFRAME);// 4 等同于SM_CXSIZEFRAME and SM_CYSIZEFRAME
i = GetSystemMetrics(SM_CYFULLSCREEN);// 744 全屏幕窗口的窗口区域的宽度和高度
i = GetSystemMetrics(SM_CYHSCROLL);// 17 水平滚动条的高度和水平滚动条上箭头的宽度
i = GetSystemMetrics(SM_CYICON);// 32系统缺省的图标的高度和宽度(一般为32*32)
i = GetSystemMetrics(SM_CYICONSPACING);// 75以大图标方式查看Item时图标之间的间距,这个距离总是大于等于
i = GetSystemMetrics(SM_CYMAXIMIZED);// 778处于顶层的最大化窗口的缺省尺寸
i = GetSystemMetrics(SM_CYMAXTRACK);// 812具有可改变尺寸边框和标题栏的窗口的缺省最大尺寸,如果窗口大于这个尺寸,窗口是不可移动的

i = GetSystemMetrics(SM_CYMENU);// 20以像素计算的单个菜单条的高度
i = GetSystemMetrics(SM_CYMENUCHECK);// 13以像素为单位计算的菜单选中标记位图的尺寸
i = GetSystemMetrics(SM_CYMIN);// 34=4+4+26窗口所能达到的最小尺寸
i = GetSystemMetrics(SM_CYMINIMIZED);// 31正常的最小化窗口的尺寸
i = GetSystemMetrics(SM_CYMINSPACING);// 31
i = GetSystemMetrics(SM_CYMINTRACK);// 34最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动
i = GetSystemMetrics(SM_CYSCREEN);// 800以像素为单位计算的屏幕尺寸。
i = GetSystemMetrics(SM_CYSIZE);// 25以像素计算的标题栏按钮的尺寸
i = GetSystemMetrics(SM_CYSIZEFRAME);// 4围绕可改变大小的窗口的边框的厚度
i = GetSystemMetrics(SM_CYSMCAPTION);// 18以像素计算的窗口小标题栏的高度
i = GetSystemMetrics(SM_CYSMICON);// 16像素计算的小图标的尺寸,小图标一般出现在窗口标题栏上
i = GetSystemMetrics(SM_CYSMSIZE);// 17
i = GetSystemMetrics(SM_CYVIRTUALSCREEN);// 800
i = GetSystemMetrics(SM_CYVSCROLL);// 17以像素计算的垂直滚动条的宽度和垂直滚动条上箭头的高度
i = GetSystemMetrics(SM_CYVTHUMB);// 17以像素计算的垂直滚动条中滚动块的高度

0 正常启动

1 安全模式启动

2 网络安全模式启动

SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回0,则系统中没有安装鼠标。

SM_CXBORDER,

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

SM_CXCURSOR,

SM_CYCURSOR 返回以像素值为单位的标准光标的宽度和高度

SM_CXDLGFRAME,

SM_CYDLGFRAME 等同与SM_CXFIXEDFRAME and SM_CYFIXEDFRAME

SM_CXDOUBLECLK,

SM_CYDOUBLECLK 以像素值为单位的双击有效的矩形区域

SM_CXEDGE,SM_CYEDGE 以像素值为单位的3D边框的宽度和高度

SM_CXFIXEDFRAME,

SM_CYFIXEDFRAME 围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度

SM_CXFRAME,SM_CYFRAME 等同于SM_CXSIZEFRAME and 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 and 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_CXMINTRACK,

SM_CYMINTRACK 最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动。

SM_CXSCREEN,

SM_CYSCREEN 以像素为单位计算的屏幕尺寸。

SM_CXSIZE,SM_CYSIZE 以像素计算的标题栏按钮的尺寸

SM_CXSIZEFRAME,

SM_CYSIZEFRAME 围绕可改变大小的窗口的边框的厚度

SM_CXSMICON,

SM_CYSMICON 以像素计算的小图标的尺寸,小图标一般出现在窗口标题栏上。

SM_CXVSCROLL,

SM_CYVSCROLL 以像素计算的垂直滚动条的宽度和垂直滚动条上箭头的高度

SM_CYCAPTION 以像素计算的普通窗口标题的高度

SM_CYMENU 以像素计算的单个菜单条的高度

SM_CYSMCAPTION 以像素计算的窗口小标题栏的高度

SM_CYVTHUMB 以像素计算的垂直滚动条中滚动块的高度

SM_DBCSENABLED 如果为TRUE或不为0的值表明系统安装了双字节版本的USER.EXE,为FALSE或0则不是。

SM_DEBUG 如果为TRUE或不为0的值表明系统安装了debug版本的USER.EXE,为FALSE或0则不是。

SM_MENUDROPALIGNMENT 如果为TRUE或不为0的值下拉菜单是右对齐的否则是左对齐的。

SM_MOUSEPRESENT 如果为TRUE或不为0的值则安装了鼠标,否则没有安装。

SM_MOUSEWHEELPRESENT 如果为TRUE或不为0的值则安装了滚轮鼠标,否则没有安装。(Windows NT only)

SM_SWAPBUTTON 如果为TRUE或不为0的值则鼠标左右键交换,否则没有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值