GetSystemMetrics function

Reference: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724385(v=vs.85).aspx

Get the width and highth of full screen:

  int cx = GetSystemMetrics(SM_CXSCREEN);
  int cy = GetSystemMetrics(SM_CYSCREEN);

 

SM_CXSCREEN 0

The width of the screen of the primary display monitor, in pixels. This is the same value       obtained by calling       GetDeviceCaps as follows: GetDeviceCaps(       hdcPrimaryMonitor, HORZRES).

 

SM_CYSCREEN 1

The height of the screen of the primary display monitor, in pixels. This is the same value       obtained by calling       GetDeviceCaps as follows: GetDeviceCaps(       hdcPrimaryMonitor, VERTRES).

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`GetSystemMetrics`是一个Windows API函数,用于检索系统度量信息的指定系统度量值或配置设置。 函数原型为: ```c++ int WINAPI GetSystemMetrics( int nIndex ); ``` 其中,`nIndex`参数指定要检索的系统度量值或配置设置。常用的参数及其说明如下: | 参数 | 说明 | | ------------------ | ------------------------------------------------------------ | | `SM_CXSCREEN` | 屏幕的宽度(以像素为单位) | | `SM_CYSCREEN` | 屏幕的高度(以像素为单位) | | `SM_CXVSCROLL` | 垂直滚动条的宽度 | | `SM_CYHSCROLL` | 水平滚动条的高度 | | `SM_CYCAPTION` | 标题栏的高度 | | `SM_CXBORDER` | 窗口边框的宽度 | | `SM_CYBORDER` | 窗口边框的高度 | | `SM_CXDLGFRAME` | 对话框边框的宽度 | | `SM_CYDLGFRAME` | 对话框边框的高度 | | `SM_CYVTHUMB` | 纵向滚动条拇指按钮的高度 | | `SM_CXHTHUMB` | 横向滚动条拇指按钮的宽度 | | `SM_CXICON` | 图标的宽度 | | `SM_CYICON` | 图标的高度 | | `SM_CXCURSOR` | 光标的宽度 | | `SM_CYCURSOR` | 光标的高度 | | `SM_CYMENU` | 菜单栏的高度 | | `SM_CXFULLSCREEN` | 全屏模式下工作区的宽度 | | `SM_CYFULLSCREEN` | 全屏模式下工作区的高度 | | `SM_CYKANJIWINDOW` | 指示日语Kanji窗口的最小高度。该值始终为0。 | | `SM_MOUSEPRESENT` | 非零值表示安装了鼠标,零值表示未安装鼠标 | | `SM_CYVSCROLL` | 纵向滚动条的高度 | | `SM_CXHSCROLL` | 横向滚动条的宽度 | | `SM_DEBUG` | 非零值表示调试版本的Windows,零值表示零售版本的Windows | | `SM_SWAPBUTTON` | 非零值表示鼠标的左右键被交换,零值表示鼠标左右键未被交换 | | `SM_CXMIN` | 窗口最小化时的宽度 | | `SM_CYMIN` | 窗口最小化时的高度 | | `SM_CXSIZE` | 窗口大小的宽度 | | `SM_CYSIZE` | 窗口大小的高度 | | `SM_CXSIZEFRAME` | 窗口边框的宽度,包括调整边框 | | `SM_CYSIZEFRAME` | 窗口边框的高度,包括调整边框 | | `SM_CXMINTRACK` | 窗口最小化时的最小宽度 | | `SM_CYMINTRACK` | 窗口最小化时的最小高度 | | `SM_CXDOUBLECLK` | 双击水平拖动条的宽度 | | `SM_CYDOUBLECLK` | 双击垂直拖动条的高度 | | `SM_CXICONSPACING` | 水平图标之间的距离 | | `SM_CYICONSPACING` | 垂直图标之间的距离 | | `SM_MENUDROPALIGNMENT` | 非零值表示菜单栏可以向左对齐,零值表示菜单栏向左对齐。 | | `SM_PENWINDOWS` | 非零值表示Windows运行在Pen计算机上,零值表示Windows未运行在Pen计算机上 | | `SM_DBCSENABLED` | 非零值表示双字节字符集(DBCS)输入可以使用,零值表示DBCS输入不可用 | | `SM_CMOUSEBUTTONS` | 鼠标按钮的数量 | | `SM_SECURE` | 非零值表示计算机处于安全模式下,零值表示计算机未处于安全模式下 | | `SM_CXEDGE` | 3D边缘宽度 | | `SM_CYEDGE` | 3D边缘高度 | | `SM_CXSMICON` | 小图标的宽度 | | `SM_CYSMICON` | 小图标的高度 | | `SM_CYSMCAPTION` | 带有三维边缘效果的小型标题栏的高度 | | `SM_CXSMSIZE` | 小型窗口大小的宽度 | | `SM_CYSMSIZE` | 小型窗口大小的高度 | | `SM_CXMENUSIZE` | 菜单栏大小的宽度 | | `SM_CYMENUSIZE` | 菜单栏大小的高度 | | `SM_ARRANGE` | 非零值表示Windows已经安排了最小化窗口的位置,零值表示Windows尚未安排最小化窗口的位置 | | `SM_CXMINIMIZED` | 窗口最小化时的宽度,单位为像素 | | `SM_CYMINIMIZED` | 窗口最小化时的高度,单位为像素 | | `SM_CXMAXTRACK` | 窗口最大化时的最大宽度 | | `SM_CYMAXTRACK` | 窗口最大化时的最大高度 | | `SM_CXMAXIMIZED` | 窗口最大化时的宽度,单位为像素 | | `SM_CYMAXIMIZED` | 窗口最大化时的高度,单位为像素 | | `SM_NETWORK` | 非零值表示Windows运行在网络上,零值表示Windows未运行在网络上 | | `SM_CLEANBOOT` | 非零值表示Windows已经启动,并且启动过程中没有加载设备驱动程序,零值表示Windows未以清洁启动方式启动 | | `SM_CXDRAG` | 拖动操作时拖动图标的宽度 | | `SM_CYDRAG` | 拖动操作时拖动图标的高度 | | `SM_SHOWSOUNDS` | 非零值表示Windows启动声音,零值表示Windows未启动声音 | | `SM_CXMENUCHECK` | 菜单栏中菜单项旁边的选中框的宽度 | | `SM_CYMENUCHECK` | 菜单栏中菜单项旁边的选中框的高度 | | `SM_SLOWMACHINE` | 非零值表示Windows运行在较慢的计算机上,零值表示Windows未运行在较慢的计算机上 | | `SM_MIDEASTENABLED` | 非零值表示Windows启用了中东语言支持,零值表示Windows未启用中东语言支持 | `GetSystemMetrics`函数的返回值根据所请求的系统度量值或配置设置而异。通常,返回值是度量值或配置设置的整数值。但是,如果请求的系统度量值或配置设置无法检索,则返回0。 例如,如果您想要检查Windows计算机是否正在远程会话(锁定屏幕),可以使用以下代码: ```c++ BOOL isLocked = GetSystemMetrics(SM_REMOTESESSION); if (isLocked) { // 计算机处于锁定状态 } else { // 计算机未被锁定 } ``` 在上面的代码中,`GetSystemMetrics`函数将返回非零值表示计算机处于锁定状态,否则返回零表示计算机未被锁定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值