Windows 7 电源管理

简介:

 上一篇介绍了如何在Windows 7 中进行网络资源管理。除此之外Windows API Code Pack 还提供了电源管理方面的功能,本篇将继续通过简单实例演示如何在Windows 7 中进行电源管理。

     首先为XAML 代码部分添加TabControl 及TabItem,用于显示电源状态信息。

<Grid>
    <TabControl x:Name="tabControl">
        <TabItem x:Name="tabItem" Header="Power Management Info">
        </TabItem>
    </TabControl>
</Grid>

     在上一讲实例中的AddProperty() 方法可以继续用来添加相关属性信息。创建LoadPowerMgmt() 方法,通过PowerManager 类获取电源相关状态数据。

private void LoadPowerMgmt()
{
    StackPanel stackPanel = new StackPanel();
    stackPanel.Orientation = Orientation.Vertical;

    AddProperty("Power Personality: ", PowerManager.PowerPersonality.ToString(), stackPanel);
    AddProperty("Power Source: ", PowerManager.PowerSource.ToString(), stackPanel);
    AddProperty("Is Battery Persent: ", PowerManager.IsBatteryPresent.ToString(), stackPanel);
    AddProperty("Is UPS Present: ", PowerManager.IsUpsPresent.ToString(), stackPanel);
    AddProperty("Is Battery Short Term: ", PowerManager.IsBatteryShortTerm.ToString(), stackPanel);
    AddProperty("Battery Life (%) : ", PowerManager.BatteryLifePercent.ToString(), stackPanel);
    AddProperty("Is Monitor Required: ", PowerManager.MonitorRequired.ToString(), stackPanel);
    AddProperty("Is Monitor On: ", PowerManager.IsMonitorOn.ToString(), stackPanel);
   
    tabItem.Content = stackPanel;
}

     在MainWindow() 中调用LoadPowerMgmt() 方法,使程序运行时自动加载。这样我们就可以在Tab 标签中看到LoadPowerMgmt() 方法获取的电源详细信息。

public MainWindow()
{
    InitializeComponent();
    LoadPowerMgmt();
}

     除了获取以上静态数据外,还可为程序添加动态电源事件。如下代码所示,在Window_Loaded 中添加BatteryLifePercentChanged 事件,当电池电量发生变化时将触发相关事件。

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    PowerManager.BatteryLifePercentChanged += new EventHandler(BatteryLifePercentChanged);        
}  

     在BatteryLifePercentChanged 中增加事件内容,当电池电量发生变化时:修改ProgressBar 进度条和Label 标签数值。其他电源事件可参考:PowerSourceChanged,SystemBusyChanged,PowerPersonalityChanged,IsMonitorOnChanged。

private void BatteryLifePercentChanged(object sender, EventArgs e)
{
    powerBar.Value = PowerManager.BatteryLifePercent;
    powerVal.Content = string.Format("{0}%", PowerManager.BatteryLifePercent.ToString());
}

运行程序:

Power

源码下载

PowerMgmt.zip




本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2011/02/09/windows7-power-management.html,如需转载请自行联系原作者

相关文章
|
17天前
|
Linux Windows
Windows Server 下文件同步
Windows Server 下文件同步
26 0
|
3天前
|
开发框架 .NET API
在Windows Server 2008 R2上运行.Net 8应用
在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
|
8天前
|
网络协议 Unix Linux
【技术分享】Server / Server Software / Unix Windows OS
Server / Server Software / Unix Windows OS
44 2
|
17天前
|
开发框架 .NET 数据库
修改windows server 2008 时间和日期格式
修改windows server 2008 时间和日期格式
14 1
|
17天前
|
SQL Windows
保姆级:Windows Server 2012上安装.NET Framework 3.5
保姆级:Windows Server 2012上安装.NET Framework 3.5
|
17天前
|
Apache 项目管理 数据安全/隐私保护
Windows如何安装使用TortoiseSVN客户端并实现公网访问本地SVN Server
Windows如何安装使用TortoiseSVN客户端并实现公网访问本地SVN Server
22 0
|
17天前
|
安全 关系型数据库 虚拟化
WIndows Server 远程桌面服务—RDS
WIndows Server 远程桌面服务—RDS
|
17天前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
17天前
|
安全 测试技术 网络安全
WIndows Server 2016 部署 PKI + 证书
WIndows Server 2016 部署 PKI + 证书