在 C# WinForms 中可以使用 SystemInformation.PowerStatus 來查看電腦電源狀態:
參考資料:
Microsoft.Learn - SystemInformation.PowerStatus Property
// 取得電源狀態資訊
PowerStatus powerStatus = SystemInformation.PowerStatus;
// 電池剩餘電量百分比
float batteryLifePercent = powerStatus.BatteryLifePercent * 100;
// 是否使用電池
string powerLineStatus = powerStatus.PowerLineStatus switch
{
PowerLineStatus.Offline => "電池供電",
PowerLineStatus.Online => "連接電源/充電中",
PowerLineStatus.Unknown => "電池狀態未知",
_ => throw new ArgumentOutOfRangeException()
};
// 電池剩餘時間(秒)
int batteryLifeRemaining = powerStatus.BatteryLifeRemaining; // 使用電池供電時才會顯示電池剩餘時間
string powerStatusInfo =
$"電池百分比: {batteryLifePercent}%\n" +
$"充電狀態:{powerLineStatus}\n" +
$"電池剩餘時間: {(batteryLifeRemaining != -1 ? $"{batteryLifeRemaining / 60} 分鐘" : "未知")}";
MessageBox.Show(powerStatusInfo, "電源狀態");
參考資料:
Microsoft.Learn - SystemInformation.PowerStatus Property
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com