2014-03-06 4 views
5
Dim power As PowerStatus = SystemInformation.PowerStatus 
Dim percent As Single = power.BatteryLifePercent 

또는 이중 배터리 상태를 검색하는 방법은 무엇입니까? 나는 이해</p> <p>

PowerStatus power = SystemInformation.PowerStatus; 
float percent = power.BatteryLifePercent; 

(즉 응용 프로그램이 작성되어 있지만 # 당신이 VB 알고 해달라고하면 괜찮 c를 이렇게 변환 할 수있는 일이기 때문에 나는 VB에서 답을 선호) 위의 그림은 나에게 배터리 잔량을 줄 것이다. 그러나 '핫 스왑 가능'태블릿을 가지고있다. (메인 배터리와 배터리를 교환하는 동안 태블릿을 실행하는 작은 5 분 배터리가있다.) - 어떻게 상태를 찾겠습니까? 두 번째 배터리?

나는 SystemInformation.PowerStatus(0)과 같은 것을 찾고 있는데, 실제로 무엇을 찾으려고 노력하고 있는지, 아무 것도 찾을 수없는 Google 블록이 있어야한다는 생각이 없습니다.

+0

이 정보에 대한 관리 된 액세스 권한이없는 경우 WMI ['Win32_Battery'] (http://msdn.microsoft.com/en-us/library/aa394074(v=vs.85) .aspx) 클래스가 있습니다. –

+0

http://www.csharpdeveloping.net/Snippet/how_to_enumerate_batteries_using_wmi 페이지를 참조하십시오. 배터리에 관한 WMI에서 얻을 수있는 정보의 전체 목록을 제공합니다. –

답변

7

WMI 및 Win32를 사용하여 배터리 수준을 확인할 수 있습니다.

이 시도 : 여러 배터리의 경우

ObjectQuery query = new ObjectQuery("Select * FROM Win32_Battery"); 

foreach (ManagementObject o in new ManagementObjectSearcher(query).Get()) 
{ 
    uint level = (uint)o.Properties["EstimatedChargeRemaining"].Value; 
} 
1

, 당신은 WMI를 사용할 수있다. 특히 Win32_Battery 클래스입니다. 그러나 PowerStatus 클래스를 사용하는 것보다 약간 느립니다.

+0

속도 문제는 없습니다. 2 분마다 폴링 만합니다. - 내 응용 프로그램이 전체 화면이므로 상태를 다룰 수 있습니다! –