WINCE中获得系统数据或系统配置信息

概述

GetSystemMetrics ()

用于得到被定义的系统数据或者系统配置信息。

语法

int WINAPI GetSystemMetrics( __in intnIndex);

下面是GetSystemMetrics函数参数intnIndex的定义:

SM_ARRANGE 标志用于获得系统如何安排最小化窗口  详细请参看下方备注.:

根据显示器显示的不同,系统数据可能有所不同.

该SM_ARRANGE设置指定系统如何安排最小化窗口,并包含一个起始位置和方向。起始位置可为下列值之一。

Value

Meaning

ARW_BOTTOMLEFT

开始在左下角的屏幕(默认位置) 。

ARW_BOTTOMRIGHT

开始在右下角的屏幕上。相当于ARW_STARTRIGHT.

ARW_HIDE

在屏幕可见区域,隐藏并最小化窗口。.

ARW_TOPLEFT

从左上角的屏幕上。相当于ARV_STARTTOP.

ARW_TOPRIGHT

相当于ARW_STARTTOP | SRW_STARTRIGHT 。

方向的安排可以为下列值之一。

Value

Meaning

ARW_DOWN

纵向排列,从上到下。

ARW_LEFT

水平排列,从左到右。

ARW_RIGHT

水平排列,从右到左。

ARW_UP

纵向排列,从下到上。

SM_CLEANBOOT 返回系统启动方式

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

index值

SM_CXSCREEN = 0'X Size of screen

SM_CYSCREEN = 1'Y Size of Screen

SM_CXVSCROLL = 2'X Size of arrow in vertical scroll bar.

SM_CYHSCROLL = 3'Y Size of arrow in horizontal scroll bar

SM_CYCAPTION = 4'Height of windows caption

SM_CXBORDER = 5'Width of no-sizable borders

SM_CYBORDER = 6'Height of non-sizable borders

SM_CXDLGFRAME =7 'Width of dialog box borders

SM_CYDLGFRAME =8 'Height of dialog box borders

SM_CYHTHUMB = 9'Height of scroll box on horizontal scroll bar

SM_CXHTHUMB = 10' Width of scroll box on horizontal scroll bar

SM_CXICON = 11'Width of standard icon

SM_CYICON = 12'Height of standard icon

SM_CXCURSOR = 13'Width of standard cursor

SM_CYCURSOR = 14'Height of standard cursor

SM_CYMENU = 15'Height of menu

SM_CXFULLSCREEN= 16 'Width of client area of maximized window

SM_CYFULLSCREEN= 17 'Height of client area of maximized window

SM_CYKANJIWINDOW= 18 'Height of Kanji window

SM_MOUSEPRESENT= 19 'True is a mouse is present

SM_CYVSCROLL =20 'Height of arrow in vertical scroll bar

SM_CXHSCROLL =21 'Width of arrow in vertical scroll bar

SM_DEBUG = 22'True if deugging version of windows is running

SM_SWAPBUTTON =23 'True if left and right buttons are swapped.

SM_CXMIN = 28'Minimum width of window

SM_CYMIN = 29'Minimum height of window

SM_CXSIZE = 30'Width of title bar bitmaps

SM_CYSIZE = 31'height of title bar bitmaps

SM_CXMINTRACK =34 'Minimum tracking width of window

SM_CYMINTRACK =35 'Minimum tracking height of window

SM_CXDOUBLECLK =36 'double click width

SM_CYDOUBLECLK =37 'double click height

SM_CXICONSPACING= 38 'width between desktop icons

SM_CYICONSPACING= 39 'height between desktop icons

SM_MENUDROPALIGNMENT= 40 'Zero if popup menus are aligned to the left of the memu bar item. True ifit is aligned to the right.

SM_PENWINDOWS =41 'The handle of the pen windows DLL if loaded.

SM_DBCSENABLED =42 'True if double byte characteds are enabled

SM_CMOUSEBUTTONS= 43 'Number of mouse buttons.

SM_CMETRICS = 44'Number of system metrics

SM_CLEANBOOT =67 'Windows 95 boot mode. 0 = normal, 1 = safe, 2 = safe with network

SM_CXMAXIMIZED =61 'default width of win95 maximised window

SM_CXMAXTRACK =59 'maximum width when resizing win95 windows

SM_CXMENUCHECK =71 'width of menu checkmark bitmap

SM_CXMENUSIZE =54 'width of button on menu bar

SM_CXMINIMIZED =57 'width of rectangle into which minimised windows must fit.

SM_CYMAXIMIZED =62 'default height of win95 maximised window

SM_CYMAXTRACK =60 'maximum width when resizing win95 windows

SM_CYMENUCHECK =72 'height of menu checkmark bitmap

SM_CYMENUSIZE =55 'height of button on menu bar

SM_CYMINIMIZED =58 'height of rectangle into which minimised windows must fit.

SM_CYSMCAPTION =51 'height of windows 95 small caption

SM_MIDEASTENABLED= 74 'Hebrw and Arabic enabled for windows 95

SM_NETWORK = 63'bit o is set if a network is present.

SM_SECURE = 44'True if security is present on windows 95 system

SM_SLOWMACHINE =73 'true if machine is too slow to run win95.

用法

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

为了使GetSystemMetrics的功能,我们以获取系统分辨率为例,并将其中的两个值用TextOut输出到窗体中。

第一步:用GetSystemMetrics获取屏幕的宽度和高度

1. int x, y;

2. x =GetSystemMetrics(SM_CXSCREEN);//屏幕宽度

3. y =GetSystemMetrics(SM_CYSCREEN);//屏幕高度

第二步:用TextOut输出分辨率

因为x和y的值是int类型,所以无法用TextOut直接输出,需要借助wsprintf函数,在C中,可以用printf函数直接将字符串输出到屏幕上,但wsprintf是将字符串输出到一个char字符数组中,而且wsprintf会返回输出字符串的长度。

1.TCHARszBuffer[10];

2.intx =1024;

3.inty =768;

4.intiLength;

5.iLength =wsprintf(szBuffer, TEXT("%5d"),x);

小提示:szBuffer数组的长度一定要大于x的长度,否则不能输出。

以上这段代码,是用wsprintf将x的值存入szBuffer中,然后在iLength中存放x的长度。这一步实际上解决了两个问题,将int类型的屏幕宽度转为了TCHAR类型,TextOut函数可以直接输出TCHAR类型字符串,而且获取了字符串的长度,那么我们就可以用TextOut函数在窗体中输出屏幕的宽度:

TextOut(hdc, 0,0, szBuffer, iLength);

WINCE读取系统数据或系统配置信息相关推荐

  1. 《unix环境高级编程》笔记4——系统数据文件和信息

    文章目录 系统数据文件和信息 口令文件 获取口令文件 getwpuid getpwnam 阴影口令 组文件 附属组ID 查看附属组ID 其他文件 登录账户记录: 系统标识 uname gethostn ...

  2. 6.1 引言-系统数据文件和信息

    6.1 引言-系统数据文件和信息 Unix系统的正常运行需要使用大量与系统有关的数据文件,例如,口令字文件/etc/passwd和组文件/etc/group就是经常由多种程序使用的两个文件.用户每次登 ...

  3. linux系统数据文件和信息--unix环境高级编程读书笔记

    linux系统中的数据文件有很多,在这一章里介绍的主要内容是和系统有关的一系列文件,包括passwd,shadow,group,utmp,wtmp以及一些系统的相关信息和时间的相关操作. 1.pass ...

  4. APUE第6章 系统数据文件和信息

    6.1 引言 UNIX系统的正常运作需要使用大量与系统有关的数据文件,例 如,口令文件/etc/passwd和组文件/etc/group就是经常被多个程序频繁 使用的两个文件.用户每次登录UNIX系统 ...

  5. Unix环境高级编程-系统数据文件和信息

    unix口令文件/etc/passwd 包含了下表所示的字段: 系统定义了两个获取口令文件项的函数,在给出用户登录名或数值用户ID后,这两个函数能够查看相关项. struct passwd *getp ...

  6. UNIX再学习 -- 系统数据文件和信息

    UNIX 系统的正常运作需要使用大量与系统有关的数据文件,例如,口令文件 /etc/passwd 和组文件 /ect/group 就是经常被多个程序频繁使用的两个文件.用户每次登陆 UNIX 系统,以 ...

  7. 第6章 系统数据文件和信息

    口令文件 用户: 基础密码文件:/etc/passwd 密码文件:/etc/shadow 组: 基础密码文件:/etc/group 密码文件:/etc/gshadow /etc/passwd 内容:用 ...

  8. UNIX环境高级编程——系统数据文件和信息

    6.1 引言 UNIX系统的正常运行需要使用大量与系统有关的数据文件,这些文件都是ASCII文本文件,并且使用标准I/O库读这些文件. 6.2 口令文件 UNIX口令文件是/etc/passwd,每一 ...

  9. 《UNIX环境高级编程》六系统数据文件和信息读书笔记

    UNIX系统的正常运作需要使用大量与系统有关的数据文件,例如,口令文件/etc/passwd和组文件/etc/group等. 1.口令文件 口令文件的各字段包含在pwd.h>中定义的passwd ...

最新文章

  1. JavaScript简单重写构造器的原型
  2. GMM_example(3)
  3. 软件质量模型 测试设计方法,质量模型-可靠性测试
  4. Java简单记事本设计实验报告_基于JAVA的记事本设计报告.doc
  5. SqlServer系列笔记——数据类型转换
  6. python必须下载到c盘吗_python为什么要安装到c盘
  7. 对于大家族Sring这些你究竟了解吗
  8. 三点滑动平均法怎么计算的_孔径千分尺怎么用,能看懂吗?
  9. c语言指令保留字,C语言命令令、符号表
  10. 乐心健康php,《乐心健康》修改步数网页【获取方法】入口
  11. Android 最常用的设计模式五 安卓源码分析——建造者模式
  12. 【Pandas】Pandas求某列字符串的长度,总结经验教训
  13. 计算机没有显示插入的移动硬盘,电脑插入移动硬盘没有显示的解决办法
  14. Project组合项目案例分享
  15. BWA处理WES文件
  16. 中外大都市人口密度的数据比较
  17. python量化选股策略 源码_【一点资讯】Python实现行业轮动量化选股【附完整源码】...
  18. 如何搬运短视频,从快手搬运视频图文教程攻略
  19. 阿里P8整理Mysql面试题答案,助你面试“脱颖而出”
  20. 微软的是怎样进行测试的(转)

热门文章

  1. 【原创】常用元器件(数码管)选型之引脚和极性识别-cayden20221029
  2. 查找-查找的基本概念
  3. Axure原型模板大全(100多款超高清高保真原型),APP+WEB精美版,绝对大神出品
  4. 一张图掌握10个表格和工具让你轻松做好项目管理
  5. matlab中归一化到[0,1]的函数mapminmax使用
  6. SRCNN与FSRCNN
  7. 如何阅读文献?——方法论
  8. 织梦CMS整站源码通用安装教程
  9. 输入两个数字,求两数字之间所有的质数,输出这些质数,并求这些质数和,最大值最小值
  10. canvas绘制坐标点连线/动态改变宽度导致canvas渲染失败