Windows 7 電源管理

來源:互聯網
上載者:User

     上一篇介紹了如何在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());}

運行程式:

源碼下載

PowerMgmt.zip

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.