楼主分真多: class Program { [DllImport("kernel32", EntryPoint = "GetSystemPowerStatus")] private static extern void GetSystemPowerStatus(ref SYSTEM_POWER_STATUS lpSystemPowerStatus);
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; }
class Program
{
[DllImport("kernel32", EntryPoint = "GetSystemPowerStatus")]
private static extern void GetSystemPowerStatus(ref SYSTEM_POWER_STATUS lpSystemPowerStatus);
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;
}
static void Main(string[] args)
{
SYSTEM_POWER_STATUS SysPower = new SYSTEM_POWER_STATUS();
string strLifeTime, strLifePercent;
GetSystemPowerStatus(ref SysPower);
Console.WriteLine("供电状态:" + Convert.ToString(SysPower.ACLineStatus) + "\n"
+ "剩余时间:" + Convert.ToString(SysPower.BatteryLifeTime) + " seconds. \n"
+ "电力剩余:" + Convert.ToString(SysPower.BatteryLifePercent) + "% \n");
Console.ReadLine();
}
}
要在任务栏的图标中,加入进度信息,是可以实现.请参考:
http://hi.baidu.com/light_black/blog/item/8c570860902f20d68db10d93.html/cmtid/e46161fa140e0c859f514652