
用P/Invoke调 API:kernel32.dll中的GetSystemPowerStatus函数。函数返回系统的电源状态。状态指数系统是在直流电源还是交流电源下运作,电池是否在充电,电池的剩余电量。
先定义结构体:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_POWER_STATUS
{
public byte ACLineStatus
public byte BatteryFlag
public byte BatteryLifePercent
public byte Reserved1
public int BatteryLifeTime
public int BatteryFullLifeTime
}
然后导入外部函数:
[DllImport("kernel32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern bool GetSystemPowerStatus(ref SYSTEM_POWER_STATUS systemPowerStatus)
如果调用成功,返回 true,然后分析systemPowerStatus的数据就行。
ACLineStatus为1时,表示正在使用交流电源,为0使用直流电源。
希望能够帮到你。
电池电量信息不像 ubuntu 在 /proc/acpi/battery/BAT 中。通常的方式是内核通过sysfs导出信息和控制接口,接口是平台不相关的,因此用户软件具有兼容性. 命令行方式查看,可以通过acpi工具,或者直接访问sysfs相关目录cat /sys/class/power_supply/BAT1/capacityCentOS下如何查看自己本本的 CPU 和 GPU 的温度及 Fan(风扇) 的转速 *** 作如下:1、安装 lm_sensors 软件包 (如果已安装了此软件了,1和2步都跳过吧):$ sudo yum install lm_sensors2、手动配置下(一路yes或enter就行了):$ sudo sensors-detect3、最后打开终端输入:$ sensors这样就输出各传感器的温度及风扇转速了查看磁盘剩余空间可以使用命令:df-hl\x0d\x0a对磁盘的 *** 作主要就是df命令。df能对磁盘做很多 *** 作,df的详细介绍如下:\x0d\x0a语法:df[选项]\x0d\x0a说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。\x0d\x0a该命令各个选项的含义如下:\x0d\x0a-a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。\x0d\x0a-k以k字节为单位显示。\x0d\x0a-i显示i节点信息,而不是磁盘块。\x0d\x0a-t显示各指定类型的文件系统的磁盘空间使用情况。\x0d\x0a-x列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。\x0d\x0a-T显示文件系统类型。\x0d\x0a功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)