神奇的是卻可以撈到自己電腦資訊
之後又在找了幾篇相關文章,認為『C#透過Windows API取得NoteBook電池使用狀況』寫得還不錯,學習學習摟
using System;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
internal class Program
{
[DllImport("kernel32", EntryPoint = "GetSystemPowerStatus")]
private static extern void GetSystemPowerStatus(ref _SYSTEM_POWER_STATUS systemPowerStatus);
public struct _SYSTEM_POWER_STATUS
{
public Byte ACLineStatus; //0 = offline, 1 = Online, 255 = UnKnown Status.
public Byte BatteryFlag;
public Byte BatteryLifePercent;
public Byte Reserved1;
public int BatteryLifeTime;
public int BatteryFullLifeTime;
}
private static void Main(string[] args)
{
_SYSTEM_POWER_STATUS SystemPower = new _SYSTEM_POWER_STATUS();
GetSystemPowerStatus(ref SystemPower);
Console.WriteLine("電力供電狀態:" + Convert.ToString(SystemPower.ACLineStatus) + "\n"
+ "估計剩餘時間:" + Convert.ToString(SystemPower.BatteryLifeTime) + " seconds. \n"
+ "估計電力剩餘:" + Convert.ToString(SystemPower.BatteryLifePercent) + "% \n");
Console.Read();
}
}
}
筆電未接上電池使用狀況
筆電接上電池使用狀況
由上圖可見,可能因為W7電源控制版本關係,所以不利於偵測剩餘時間
不過仍可以偵測電力剩餘啪數
參考資料:
http://www.dotblogs.com.tw/dotnetfactory/archive/2008/04/10/2778.aspx
http://msdn.microsoft.com/en-us/library/aa373232.aspx

