nim调用GetSystemPowerStatus判断笔记本电脑是否接通外接电源

本文介绍如何使用nim语言调用Windows API GetSystemPowerStatus来判断笔记本电脑是否连接了外部电源,并获取电池电量等信息。通过定义所需的数据类型和导入必要的DLL库,实现了对外接电源状态的有效监测。

title: nim调用GetSystemPowerStatus判断笔记本电脑是否接通外接电源
tags:nim,winapi,dll
---

转载条件:如果你需要转载本文,你需要做到完整转载本文所有的内容,不得删改文内的作者名字与链接。否则拒绝转载。

nim调用GetSystemPowerStatus判断笔记本电脑是否接通外接电源:

type
    SYSTEM_POWER_STATUS* {.final, pure.} = object
        ACLineStatus*: int8
        BatteryFlag*: int8
        BatteryLifePercent*: int8
        Reserved1*: int8
        BatteryLifeTime*: int32
        BatteryFullLifeTime*: int32

var test:SYSTEM_POWER_STATUS

proc getPowerStatus*(stat:var SYSTEM_POWER_STATUS):int {.stdcall, dynlib:"kernel32", 
    importc:"GetSystemPowerStatus", discardable.}

test.getPowerStatus
echo test
echo "电池电量:",test.BatteryLifePercent

if test.ACLineStatus == 0:
    echo "笔记本,断电了"
elif test.ACLineStatus == 1:
    echo "笔记本,接通外接电源中"
else:
    echo "我觉得我可能是运行在一台台式电脑上了。"

代码抄自:
https://github.com/nim-lang/oldwinapi

codegay
2017年12月01日 20时26分02秒

转载于:https://www.cnblogs.com/gayhub/p/7944331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值