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判断笔记本电脑是否接通外接电源的更多相关文章

  1. 使用python调用shell判断当前进程是否存在

    使用subprocess模块判断当前进程是否存在 #! /usr/bin/env python import subprocess res = subprocess.Popen(r'ps -ef |g ...

  2. ASP.NET Core使用Ping判断网络是否接通

    static void Main(string[] args) { // 主机地址 string targetHost = "bing.com"; string data = &q ...

  3. PC-1500收集整理记

    目录 第1章计算器    1 1.1 存储卡    2 1.2 取出"牛皮糖"    4 1.3 打磨键盘按钮    6 1.4 通电    7 第2章底座    10 2.1 去 ...

  4. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的

    现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.例如app.手持设备.服务器.2:服务的返回状态是什么样 ...

  5. 判断scrollview是否滚动到了底部

    调用函数判断如下:if(getScrollY() + getHeight() >=  computeVerticalScrollRange()){        Log.d(TAG," ...

  6. python判断文件和目录是否存在

    #Python的os.path模块提供了 isdir() 和 isfile()函数,请导入该模块,并调用函数判断指定的目录和文件是否存在. import os print os.path.isdir( ...

  7. 第二课:判断js变量的类型以及domReady的原理

    1.类型的判断: js五种简单数据类型有:null,undefined,boolean,number,string. 还有复杂的数据类型:Object,Function,RegExp,Date,自定义 ...

  8. c# 判断点是否在区域内 点在区域内 在多边形内 判断

    方法一 算法 : public int isLeft(Point P0, Point P1,Point P2)        {            int abc= ((P1.X - P0.X) ...

  9. bzoj 2819 Nim(BIT,dfs序,LCA)

    2819: Nim Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1596  Solved: 597[Submit][Status][Discuss] ...

随机推荐

  1. HBase详解

    1.   hbase简介 1.1.  什么是hbase HBASE是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. H ...

  2. win2012服务器配置ftp

    1.打开服务器管理器,选择添加角色和功能 2.按照下述向导,安装IIS 选择iis 勾选FTP服务器 3.添加新用户 用户密码按照下图勾选,创建用户 4.IIS配置FTP站点 指定用户访问,并授权,点 ...

  3. 纯手工编写的PE可执行程序

    [文章标题]: 纯手工编写的PE可执行程序[文章作者]: Kinney[下载地址]: 自己搜索下载[使用工具]: C32[操作平台]: win 7[作者声明]: 只是感兴趣,没有其他目的.失误之处敬请 ...

  4. java Comparable and Comparator

    1.Comparable简介 此接口对实现它的每个类的对象强加一个总排序.这种排序被称为类的自然排序,类的compareTo方法被称为其自然比较方法.可以通过 Collections.sort(和Ar ...

  5. Objective-C基础教程 笔记

    一.对C的扩展 1. #import VS #include C语言使用#include语句通知编译器应在头文件中查询定义. OC中也可以使用#include,但几乎不这么用,而是使用#import. ...

  6. vim 多标签和多窗口

    多文件编辑时的利器啊.谁用谁知道. 多标签 一次性以标签的形式打开多个文件: vim -p *.cpp :tabnew 增加一个标签 :tabc       关闭当前的tab :tabo       ...

  7. 在公网上的Linux,我的一些配置分享

    前言 去年的时候,有一篇介绍在vultr上搭建ss服务器的文章,由于某些众所周知的原因,被阿里云删除. 后来有段时间使用vps,配合<鸟哥私房菜>,学习实操linux.当时我以为只要roo ...

  8. so so.*.*

    转自:http://unix.stackexchange.com/questions/5719/linux-gnu-gcc-ld-version-scripts-and-the-elf-binary- ...

  9. day1 登录

    #!/usr/bin/env python #Author:windtalker import os, getpass import sqlite3 from time import ctime pr ...

  10. js实现原生选项卡

        <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...