nim调用GetSystemPowerStatus判断笔记本电脑是否接通外接电源
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秒
nim调用GetSystemPowerStatus判断笔记本电脑是否接通外接电源的更多相关文章
- 使用python调用shell判断当前进程是否存在
使用subprocess模块判断当前进程是否存在 #! /usr/bin/env python import subprocess res = subprocess.Popen(r'ps -ef |g ...
- ASP.NET Core使用Ping判断网络是否接通
static void Main(string[] args) { // 主机地址 string targetHost = "bing.com"; string data = &q ...
- PC-1500收集整理记
目录 第1章计算器 1 1.1 存储卡 2 1.2 取出"牛皮糖" 4 1.3 打磨键盘按钮 6 1.4 通电 7 第2章底座 10 2.1 去 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的
现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.例如app.手持设备.服务器.2:服务的返回状态是什么样 ...
- 判断scrollview是否滚动到了底部
调用函数判断如下:if(getScrollY() + getHeight() >= computeVerticalScrollRange()){ Log.d(TAG," ...
- python判断文件和目录是否存在
#Python的os.path模块提供了 isdir() 和 isfile()函数,请导入该模块,并调用函数判断指定的目录和文件是否存在. import os print os.path.isdir( ...
- 第二课:判断js变量的类型以及domReady的原理
1.类型的判断: js五种简单数据类型有:null,undefined,boolean,number,string. 还有复杂的数据类型:Object,Function,RegExp,Date,自定义 ...
- c# 判断点是否在区域内 点在区域内 在多边形内 判断
方法一 算法 : public int isLeft(Point P0, Point P1,Point P2) { int abc= ((P1.X - P0.X) ...
- bzoj 2819 Nim(BIT,dfs序,LCA)
2819: Nim Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1596 Solved: 597[Submit][Status][Discuss] ...
随机推荐
- P2822 组合数问题
传送门 思路: 利用公式: C( n,r ) = C( n-1,r ) + C( n-1,r-1 ) 由此可以将计算 C( n,r ) 的过程化为加法来做. 可以看出,C( n,r ) 其实就是求杨辉 ...
- .net core json序列化 long类型转化成字符串
实现类 using System; using System.ComponentModel; using System.Linq; using Newtonsoft.Json; namespace H ...
- box-sizing的用法(笔记)
关于盒子布局的box-sizing的使用 border-box width 和 height 属性包括内容,内边距和边框,但不包括外边距.这是当文档处于 Quirks模式 时Internet Expl ...
- js下拉列表选中
var monthobj = document.getElementById("pid");// for(var i=0; i<monthobj.options.length ...
- http请求requestUtils
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- python线程condition条件锁应用实例
import time import threading # 吃火锅鱼丸 guo = [] suo = threading.Condition() #条件锁 # 生产者负责生产 class Produ ...
- 【nowcoder】 4th T1 动态点分治
题目链接:https://www.nowcoder.com/acm/contest/175/A 题目名字吓死人 std: 我 太可啪了 一道简单的模拟题.虽然我把题意想错了. 按照题意模拟输出和继承. ...
- vue-router同路由$router.push不跳转一个简单解决方案
vue-router同路由$router.push不跳转一个简单解决方案 vue-router跳转一般是这么写: toCurrentPage: function(thisId){ this.$rout ...
- Druid(新版starter)在SpringBoot下的使用以及优点
Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能.DruidDataSource支持的数据库:理论上说,支持所有有jdbc驱动的数据库.最近发现Druid在spri ...
- list map to map
Map<String, Object> merged = lists.stream() .map(Map::entrySet) .flatMap(Set::stream) .collect ...