バッテリーレベルを判断する方法があり、バッテリーレベルを定期的にチェックするタイマーを保持しています。
void GetBatteryLevel()
{
try
{
//Use this code in next build
//System.Windows.Forms.PowerStatus status = System.Windows.Forms.SystemInformation.PowerStatus;
double batteryLevel;
ManagementObjectSearcher mos = new ManagementObjectSearcher("select EstimatedChargeRemaining from Win32_Battery");
ManagementObjectCollection collection = mos.Get();
foreach (ManagementObject mo in collection)
{
UInt16 remainingPercent = (UInt16)mo["EstimatedChargeRemaining"];
batteryLevel = (double)remainingPercent;
batteryLevel = batteryLevel / 100;
batteryLevel = 1.0 - batteryLevel;
BatteryLevel = new System.Windows.Point(0.0, batteryLevel);
}
}
catch (Exception exp)
{
Logger.LogMessage("EXCEPTION: " + exp.StackTrace);
}
}
バッテリー残量が 1% 減少または増加したときにイベントを登録する方法はありますか? 私は既に SystemEvents.PowerModeChanged に登録しており、正常に動作しています。