電源状態(AC電源か?バッテリーか?)を取得するには
PowerStatusクラスのPowerLineStatusプロパティーを参照します。
電源変更通知を取得する場合は
Microsoft.Win32.SystemEvents.PowerModeChanged
イベントを取得してください。
以下のサンプルは
タスクトレイアイコンに電源変更通知のバルーンを表示します。
FormプロジェクトにnotifyIconを1つ追加してください。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace PowerNotifier { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // タスクトレイアイコンを見えるように notifyIcon1.Visible = true; // 電源状態が変更されたことを通知する Microsoft.Win32.SystemEvents.PowerModeChanged += new Microsoft.Win32.PowerModeChangedEventHandler(SystemEvents_PowerModeChanged); // 通知 Notifier(); } void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) { switch (e.Mode) { // 電源状態が変更された case Microsoft.Win32.PowerModes.StatusChange: Notifier(); break; } } void Notifier() { PowerStatus ps = SystemInformation.PowerStatus; switch (ps.PowerLineStatus) { case PowerLineStatus.Online: notifyIcon1.BalloonTipTitle = "電源状態"; notifyIcon1.BalloonTipText = "AC電源です"; notifyIcon1.ShowBalloonTip(10000); break; case PowerLineStatus.Offline: notifyIcon1.BalloonTipTitle = "電源状態"; notifyIcon1.BalloonTipText = "バッテリーです"; notifyIcon1.ShowBalloonTip(10000); break; case PowerLineStatus.Unknown: break; } } } }
コメントを残す