设为首页 收藏本站
开启辅助访问 快捷导航
菜单
猿人部落 主页 资讯 查看内容

C语言电池助手

2019-7-26 18:07 发布者: 左岸新闻 评论 0 查看 888
C语言电池助手 按照课本学习C语言一样寻常都只涉及数据范例、指针、数组、链表等如许一系列的底子知识 但是在寒假里

C语言电池助手

按照课本学习C语言一样寻常都只涉及数据范例、指针、数组、链表等如许一系列的底子知识
但是在寒假里出于爱好和猛烈的好奇
笔者突发奇想想知道可否用C语言访问体系的电池参数
由此笔者查阅资料以后实验写了一个托钵人版的电池助手

时至暑假,笔者忽然想起了这个太古步伐,决定把它收录进自己博客中

代码

#include 
#include 
#include 

void gotoxy(int x,int y)
//句柄操纵:实现光标的移动;
{
    COORD pos;
    HANDLE hOutput;
    pos.X=x;
    pos.Y=y;
    hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hOutput,pos);
}

int main(void)
{
    SYSTEM_POWER_STATUS sps;        //界说访问电池的布局体;
    GetSystemPowerStatus(&sps);     //读取布局体指针的内容;
    system("color F0");
    system("mode con cols=40 lines=8");
    gotoxy(5,1);
    printf("是否连通电源:%s",sps.ACLineStatus==0?"否":"是");
    gotoxy(5,2);
    printf("电池百分比:%d%%",sps.BatteryLifePercent);
    gotoxy(5,3);
    switch(sps.BatteryFlag){
        case 0:
            printf("电池状态:低电量");
            break;
        case 1:
            printf("电池状态:高电量");
            break;
        case 4:
            printf("电池状态:极低电量");
            break;
        case 8:
            printf("电池状态:充电中");
            break;
        case 128:
            printf("未检测到电池!");
            break;
        case 255:
            printf("无法读取电池状态!");
            break;
    }
    if(sps.ACLineStatus==0){
        int h,s;
        h=sps.BatteryLifeTime/3600;
        s=(sps.BatteryLifeTime-h*3600)/60;
        gotoxy(5,4);
        printf("电池剩余使用时间:%d时%d分",h,s);
    }
    else{
        gotoxy(5,4);
        printf("电池剩余使用时间:您已接通电源!");
    }
    system("pause");
    return 0;
}

此中gotoxy是对光标的移动
而焦点代码则是main函数中的
最最关键的则是由体系界说的布局体:

SYSTEM_POWER_STATUS sps;        //界说访问电池的布局体;
GetSystemPowerStatus(&sps);     //读取布局体指针的内容;

而后便是调用该布局体中的各项参数:

ACLineStatus			//是否接通电源
BatteryLifePercent		//电源百分比
BatteryFlag				//电池状态
BatteryLifeTime			//电池预计使用时间

感想

到这里可以发现
实现访问和表现电池参数不必要自己计划步伐和算法
无非只是必要知道C语言中已界说好的布局体:
SYSTEM_POWER_STATUS
而笔者的这段代码也无非只是可以实现一些最底子的功能
仅供学习娱乐而已
其仍然是一个较为底子的控制台步伐

实在笔者乃至想在低电量(小于20%)时调用 Beep() 函数
然而 Beep() 的蜂鸣声总有些莫名的魔性
笔者不得不放弃了这个想法



路过

雷人

握手

鲜花

鸡蛋
收藏 邀请
上一篇:【架构】Nginx+Keepalived高可用集群下一篇:音视频知识基础

相关阅读

一周热门

头条攻略!

日排行榜

相关分类