c++编写: 检测试笔记本电池充电状况
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <vector>
#include <string>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#include <CString>
#include <sstream>
#pragma comment(lib,"User32.lib")
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
SYSTEM_POWER_STATUS sysPowerStatus;
vector<std::string> vStr;
if (GetSystemPowerStatus(&sysPowerStatus))
{
//电源状态
std::string Str;
if (sysPowerStatus.ACLineStatus != -1)
{
if (sysPowerStatus.ACLineStatus & 1)
{
Str = "Power state:Power on";
vStr.push_back(Str);
}
else
{
Str = "Power state:Power off";
vStr.push_back(Str);
}
}
//电池状态
if (sysPowerStatus.BatteryFlag != -1)
{
if (!(sysPowerStatus.BatteryFlag & 128))
{
//充电状态
if (sysPowerStatus.BatteryFlag & 8)
Str ="Charging status:Be Charging";
else
Str ="Charging status:Uncharged State";
vStr.push_back(Str);
//电池可用时长
if (sysPowerStatus.BatteryLifeTime != -1)
{
if (sysPowerStatus.BatteryLifeTime)
{
int iTime = (int)(sysPowerStatus.BatteryLifeTime);
if (iTime % 60)
iTime = iTime / 60 + 1;
else
iTime = iTime / 60;
Str ="Dump Energy";
vStr.push_back(Str);
if (iTime / 60)
{
Str = to_string(iTime / 60);
Str += "Hour";
vStr.push_back(Str);
}
if (iTime % 60)
{
Str = to_string(iTime % 60);
Str += "Minute";
vStr.push_back(Str);
}
}
}
//电池可用百分比
if (sysPowerStatus.BatteryLifePercent != -1)
{
if (sysPowerStatus.BatteryLifePercent)
{
Str= _T("(") + to_string((int)(sysPowerStatus.BatteryLifePercent)) + _T("%)");
Str = "Percentage of battery usable:" + Str;
vStr.push_back(Str);
}
}
}
}
}
std::string Str;
try
{
fstream ff;
ff.open("Battery.txt", ios::out);
for (DWORD dw = 0; dw < vStr.size(); dw++)
{
ff << vStr[dw] << endl;
}
ff.close();
}
catch (exception& e)
{
cout << e.what() << endl;
}
return 0;
}
c++编写: 检测试笔记本电池充电状况相关推荐
- Ubuntu NVIDIA显卡驱动工作模式切换,无法检测到笔记本自带屏幕,屏幕无法工作/黑屏
Ubuntu NVIDIA显卡驱动工作模式切换,无法检测到笔记本自带屏幕,笔记本内置屏幕无法工作 问题描述 解决方法 总结 问题描述 联想Y9000P ubuntu20.04装完nvidia显卡驱动后 ...
- 全球及中国基因检测市场投资规模状况与应用前景规划报告2022年
全球及中国基因检测市场投资规模状况与应用前景规划报告2022年 ··························· <修订日期>:2022年1月 <专员对接>:周文文 &l ...
- java检测服务器之间网络状况及丢包率
问题 服务器因为防火墙的原因,或者为了安全禁止了ping服务,导致无法ping通,会让我们误判断两个服务器之间网络不通,但是服务器却可以远程访问,是正常连通状态,编写程序判断两个服务器之间网络状况. ...
- 适合编写python的笔记本_适合编程的笔记本
合适编程的笔记本电脑可以提高程序员开发效率,需要优秀的CPU及4GB以上内存,推荐参考:戴尔Latitude E7470.Apple MacBook Pro.华硕K501UW-AB78.联想Yoga ...
- 硬盘安装以及磁盘分区和检测(笔记本R7000)
笔记本电脑清洁小记(附螺丝滑丝处理,常见意外情况)参考这篇打开外壳,关闭电源 这就是安硬盘的地方: PS:不要用叠瓦盘 小心这个角落,我懒得拆卸电池: 看清,这东西要掰下来: 不想给螺丝可以不给... ...
- Linux脚本编写—检测内网主机存活状态(语句:if+for+while)
涉及知识: Linux-shell脚本(条件if语句的简单使用)[实列]_孤城286的博客-CSDN博客 一.ping 操作的修饰: 二.简单编写: 三.优化: -局限性: -循环语句的介绍: (1) ...
- Win11又有新的错误报告,某些用户笔记本电池充电竟能超过100%
人人都希望尽可能地延长自己的笔记本电脑的电池使用续航寿命,而且每一次新Windows的更新都会为延长电池使用时间作出重大承诺.但是Windows11出现了一个奇怪的错误,意味着你可能得到了比你期望的更 ...
- 使用高斯混合模型检测不同的股票市场状况
在本篇文章中将试图使用高斯混合模型 (GMM) 对股市中的不同市场行情进行聚类分析 介绍 通过过去的十年的发展,普通人越来越容易进入股票市场,每天进出市场的资金量创历史新高. 作为投资者,你可以通过多 ...
- c 控制台 笔记本电池充电监控程式
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> ...
最新文章
- 面试热点|理解TCP/IP传输层拥塞控制算法
- [Android]动态加载/热部署框架汇总
- CSS综合复习笔记 01
- UA MATH564 概率论VI 数理统计基础1
- JQuery 自动触发事件
- unity json mysql_unity——json总结
- 服务器虚拟化与虚拟容器,虚拟化与Docker
- Duilib教程-自动布局1
- elupload获取文件名与路径_Uipath获取文件名,路径,扩展名等操作
- 每日站立会议个人博客二
- java序列化写法_java-spark的各种常用算子的写法
- 【Python CheckiO 题解】Multicolored Lamp
- UML类图画法及类之间几种关系
- 第三周博客作业西北师范大学|李晓婷
- Kafka的高性能原理
- JAVA异常-面试题
- okvis odometry的安装与运行
- 用PYTHON优化投资组合的配置
- 写给 Linux 初学者的一封信
- Mapgis 到ArcGis 双向转换
热门文章
- 有两个瓶子一个瓶承5升水一个瓶子成3升水,那怎么可以成四升水呢
- 2021-2025年中国农用拖拉机行业市场供需与战略研究报告
- Endnote——论文写作与文献管理神器
- oracle安装出现问题--无法在节点上执行物理内存检查
- 程序员干不动了,你还能干点啥?——敢问路在何方
- python extractall函数_Python的内置函数(七)、all()
- 那些年我们追过的拳皇(r8笔记第37天)
- vue3.0对服务端进行渲染
- java爬虫框架代理ip的配置与调试
- 福州大学研究生院数学与计算机学院,福州大学数学与计算机科学学院计算机图形学与多媒体/人工智能研究生导师:陈家瑞...