728x90
반응형
728x170
▶ BatteryStatusType.cs
/// <summary>
/// 배터리 상태 종류
/// </summary>
public enum BatteryStatusType
{
/// <summary>
/// 해당 없음
/// </summary>
None,
/// <summary>
/// 배터리
/// </summary>
Battery,
/// <summary>
/// 충전중
/// </summary>
Charge,
/// <summary>
/// 전원
/// </summary>
AC
}
▶ BatteryManager.cs
using System;
using System.Windows.Forms;
/// <summary>
/// 배터리 관리자
/// </summary>
public class BatteryManager
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 배터리 상태 종류
/// </summary>
private BatteryStatusType batteryStatusType = BatteryStatusType.None;
/// <summary>
/// 전력 수명 시간 수
/// </summary>
private int powerLifeHourCount = 0;
/// <summary>
/// 전력 수명 분 수
/// </summary>
private int powerLifeMinuteCount = 0;
/// <summary>
/// 전력 수명 퍼센트
/// </summary>
private int powerLifePercent = 0;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 배터리 상태 종류 - BatteryStatusType
/// <summary>
/// 배터리 상태 종류
/// </summary>
public BatteryStatusType BatteryStatusType
{
get
{
return this.batteryStatusType;
}
}
#endregion
#region 전력 수명 시간 수 - PowerLifeHourCount
/// <summary>
/// 전력 수명 시간 수
/// </summary>
public int PowerLifeHourCount
{
get
{
return this.powerLifeHourCount;
}
}
#endregion
#region 전력 수명 분 수 - PowerLifeMinuteCount
/// <summary>
/// 전력 수명 분 수
/// </summary>
public int PowerLifeMinuteCount
{
get
{
return this.powerLifeMinuteCount;
}
}
#endregion
#region 전력 수명 퍼센트 - PowerLifePercent
/// <summary>
/// 전력 수명 퍼센트
/// </summary>
public int PowerLifePercent
{
get
{
return this.powerLifePercent;
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - BatteryManager()
/// <summary>
/// 생성자
/// </summary>
public BatteryManager()
{
Refresh();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 갱신하기 - Refresh()
/// <summary>
/// 갱신하기
/// </summary>
public void Refresh()
{
int powerLifeRemainingSecondCount = SystemInformation.PowerStatus.BatteryLifeRemaining;
if(SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Offline)
{
this.batteryStatusType = BatteryStatusType.Battery;
this.powerLifeHourCount = powerLifeRemainingSecondCount / 120;
this.powerLifeMinuteCount = powerLifeRemainingSecondCount / 60 - powerLifeRemainingSecondCount / 120;
}
else
{
if(SystemInformation.PowerStatus.BatteryLifePercent < 1)
{
this.batteryStatusType = BatteryStatusType.Charge;
}
else
{
this.batteryStatusType = BatteryStatusType.AC;
}
this.powerLifeHourCount = 0;
this.powerLifeMinuteCount = 0;
}
this.powerLifePercent = Convert.ToInt32(SystemInformation.PowerStatus.BatteryLifePercent * 100f);
}
#endregion
#region 문자열 구하기 - ToString()
/// <summary>
/// 문자열 구하기
/// </summary>
/// <returns>문자열</returns>
public override string ToString()
{
string batteryStatusTypeString = string.Empty;
switch(this.batteryStatusType)
{
case BatteryStatusType.Battery : batteryStatusTypeString = "배터리"; break;
case BatteryStatusType.Charge : batteryStatusTypeString = "충전중"; break;
case BatteryStatusType.AC : batteryStatusTypeString = "전원"; break;
}
return string.Format("{0}:{1}", batteryStatusTypeString, this.powerLifePercent);
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 분침 각도 구하기 (0) | 2015.02.22 |
---|---|
[C#/COMMON] 시침 각도 구하기 (0) | 2015.02.22 |
[C#/COMMON] 소스 DPI의 소스 값으로 타겟 DPI의 타겟 값 구하기 (0) | 2015.02.22 |
[C#/COMMON] IDictionaryEnumerator 인터페이스 사용하기 (0) | 2015.02.19 |
[C#/COMMON] 캐럿 사용하기 (0) | 2015.01.25 |
[C#/COMMON] 전원 상태 구하기 (0) | 2015.01.25 |
[C#/COMMON] PlaySound API 함수 : 사운드 재생하기 (0) | 2015.01.24 |
[C#/COMMON] SoundPlayer 클래스 : 사운드 재생하기 (0) | 2015.01.24 |
[C#/COMMON] 구글 G메일 보내기 (0) | 2015.01.24 |
[C#/COMMON] TCP 데이터 수신하기 (0) | 2015.01.24 |
[C#/COMMON] TCP 데이터 전송하기 (0) | 2015.01.24 |
댓글을 달아 주세요