2014-05-12 5 views
-1

배터리 레벨이 정확히 20 % 일 때 사용자에게 알릴 필요가 있습니다. 현재 Timer을 사용하여 고정 된 간격으로 SystemInformation.PowerStatus.BatteryLifePercent 상태를 반복적으로 확인합니다. 거기에 더 효율적이고 효과적인 방법이 있습니까?특정 배터리 레벨로 사용자에게 알리기

편집 : 저는 노트북에서 작동되도록하고 싶습니다.

+3

. 전화입니까? 노트북인가요? 어떤 시스템을 목표로합니까? 우리는 추측하지 않을 것입니다. – MarcinJuraszek

+0

장치에 따라 다르며 'BatteryLifePercent'를 얻기 위해 사용하고있는 것은'Systeminfo' 또는'PowerStatus' 클래스에서 가져온 것입니까 아니면 맞춤 타사 클래스 또는 앱입니까? 하지만 'Timer'로 확인할 때 아무 문제가 없습니다 –

+0

[C#, 지속적으로 배터리 잔량 모니터링] (http://stackoverflow.com/questions/17832969/c-constantly-monitor-battery-level) – DIF

답변

1

이 답변 C#, Constantly monitor battery level이 같은 SystemEvents.PowerModeChanged - 이벤트에 등록 할 것을 제안 : 당신은 당신이 일을하려는 장치의 어떤 말도하지 않았다

static void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) 
{ 
    if (e.Mode == Microsoft.Win32.PowerModes.StatusChange) 
    { 
     if (pw.BatteryLifeRemaining == 20) 
     { 
     //Do stuff here 
     } 
    } 
} 
관련 문제