使用 SysInfo 控件 SysInfo 可以用于检测系统事件,例如桌面的大小改变、分辨率改变、时间改变,或用于提供操作系统平台和版本信息。它也可以用于管理交流电 (AC) 和电池电源之间的切换,以及硬件配置的改变。 在 Windows 95 中,在新设备
添加到系统之后能够被
自动检测出来。使用 SysInfo 控件的
属性和事件可以
分享这种“即插即用”技术带来的好处。例如,在专门为笔记本电脑编写的应用程序中,可以对在 PC 卡插槽中插入或者拔出 PC 卡作出响应。 在运行时,SysInfo 控件是不可见的。 图 2.27 SysInfo 控件 可能的用途 确定操作系统平台和版本 检测桌面和监视器大小和分辨率的改变 检测并管理即插即用设备 监视电池和电源状态 SysInfo 控件的特性 使用 SysInfo 控件,可以监视操作系统提供的信息,并对系统
生成的事件作出响应。该控件的特性可分为如下几个部分: 操作系统
属性(例如 OSVersion 和 WorkAreaHeight
属性)。 与系统的改变有关的事件(例如 DisplayChanged、TimeChanged 和SettingChanged 事件)。 即插即用事件(例如 DeviceArrival、DeviceRemoveComplete 事件)。 电源状态事件和
属性(例如 PowerSuspend 和 PowerResume 事件,以及 ACStatus 和 BatteryStatus
属性)。 下面几节将介绍如何使用上文中描述的事件和
属性。 操作系统
属性和事件 SysInfo 控件的操作系统
属性和事件可以用于检测当前操作系统及其版本、某些全局设置的改变,或者桌面大小和分辨率的改变。 操作系统平台和版本
属性 下表列出了可以用于确定当前的操作系统平台和版本的
属性: 类别 项目 描述
属性 OSPlatform 返回值标识应用程序运行在什么操作系统上。 OSVersion 返回值标识运行应用程序的操作系统的版本号。 OSBuild 返回值提供运行应用程序的操作系统的编译序号。 详细信息 “SysInfo 应用实例 1:检测当前操作系统和版本”提供了如何使用这些
属性的示例。 桌面大小和屏幕分辨率
属性和事件 下表列出了专门用于管理桌面和屏幕分辨率的操作系统
属性和事件: 类别 项目 描述
属性 ScrollBarSize 返回滚动条宽度的系统量度,以缇为单位。 WorkAreaHeight 返回可见桌面的高度,这是为 Windows 95 和 Windows NT 4.0 任务条作了调整之后的值。 WorkAreaLeft 返回可见桌面左边界的坐标,这是为 Windows 95 和 Windows NT 4.0 任务条作了调整之后的值。 WorkAreaTop 返回可见桌面上边界的坐标,这是为 Windows 95 和 Windows NT 4.0 任务条作了调整之后的值。 WorkAreaWidth 返回可见桌面宽度,这是为 Windows 95 和 Windows NT 4.0 任务条作了调整之后的值。 事件 DisplayChanged 在系统屏幕分辨率发生变化时产生该事件。 SysColorsChanged 当应用程序或控制面板改变了系统颜色设置时产生该事件。 当屏幕的分辨率发生改变时,将触发 DisplayChanged 事件。在 DisplayChanged 事件中使用 WorkAreaHeight、WorkAreaWidth、WorkAreaRight 和 WorkAreaLeft
属性即可确定当前的系统大小(可用的屏幕区域),并进行相应的调整。如果在 Windows 95 或 Windows NT 4.0 中任务条是可见的,则它不被算在可用的屏幕区域之内。 如果
用户通过 Windows 95 或 Windows NT 4.0 的控制面板中的“
显示”设置改变了滚动条的大小,则有可能需要更新
显示区域以正确地放置滚动条。可以在 DisplayChanged 事件中使用 ScrollBarSize
属性进行调整。 详细信息 在“SysInfo 应用实例 2:屏幕大小和分辨率改变时进行相应调整”一节中提供了如何运用这些
属性和事件的示例。 管理硬件配置和即插即用事件 如果操作系统
支持该特性,则即插即用事件提供了管理系统硬件配置变化的手段。例如,硬件配置改变、系统正在连接或断开,或者 PC 插槽中正在插入或拔出 PC 卡。 下表列出了专门用于管理硬件配置和即插即用设备的 SysInfo 控件事件。 事件 描述 ConfigChanged 当系统的硬件
配置文件改变时产生。 ConfigChangeCancelled 当操作系统发送硬件配置变化被取消的消息时产生。 DeviceArrival 当系统中
添加新设备时产生。 DeviceEventOther 未映射到通用事件的通告事件。 DevModeChange 当设备模式设置发生改变时产生 DeviceQueryRemove 从系统中
删除设备之前产生. DeviceQueryRemove
Failed 当 DeviceQueryRemove 事件的
代码取消设备
删除时产生。 DeviceRemoveComplete 在设备被
删除之后产生。 DeviceRemovePending 当所有应用程序均同意
删除某个设备,且该设备即将被
删除时产生。 QueryChangeConfig 请求改变当前的硬件
配置文件时产生。 在 Windows 95 中,用 ConfigChanged 事件通告硬件
配置文件的改变。在连接和断开时,笔记本电脑通常使用不同的硬件
配置文件。例如,在连接时,笔记本电脑也许会连接到网络、外部监视器上,或访问光盘驱动器。 SysInfo 控件的与设备有关的事件提供了硬件配置中的设备改变反馈信息。在硬件
添加到系统中之后,应用程序可以动态地使用它。 使用电源状态
属性和事件 电源状态事件和属
性能用来监视台式或笔记本电脑的交流电或电池电源状态。笔记本电脑通常都实现了电源挂起、电源恢复和电池状态等特性,然而应用程序应该适用于所有类型的计算机。 下表列出了 sysInfo 控件关于电池和电源状态的事件和
属性: 类别 项目 描述
属性 ACStatus 返回值指出系统正在使用交流电还是电池电源。 BatteryFullTime 返回值指示电池的完全充电时间。 BatteryLifePercent 返回电池所剩电能占完全充满时的百分比。 BatteryLifeTime 返回值指示电池的剩余使用时间。 BatteryStatus 返回值给出电池的充电状态。 事件 PowerQuerySuspend 在系统电源准备挂起时产生。 PowerResume 当系统结束挂起模式时产生。 PowerStatusChanged 当系统的电源状态变化时产生。 PowerSuspend 在系统即将进入挂起模式之前产生。 在电源挂起时,电源事件可为应用程序提供一定的安全保护。PowerSuspend 事件
通知应用程序电源即将被挂起。这样就可以在电源挂起前保存应用程序的状态,或保存尚未存储的
文件。 PowerStatusChanged 事件
通知交流电和电池电源状态的改变。如果电池能量已经很少,就需要保存数据。 详细信息 “Sysinfo 应用实例 3:监视电池电源状态”提供了如何用这些
属性和事件监视和管理电池和交流电电源变化的示例。
原文链接:https://www.f2er.com/vb/261134.html