C/C++判断是否为笔记本电脑

原创 2017年01月19日 16:19:47

首先我们知道台式机和笔记本的区别就在于是否有电源

如果有读取电源信息的API提供返回值,是不是就可以断定是笔记本或者台式机了呢?


下面先看一个API

GetSystemPowerStatus function



我们大体上可以知道

这是一个检索系统电源状态的函数,这个状态暗示了系统是直流电还是交流电,还有电池当前的装载清空等等等的呢。


下面我看看参数:

SYSTEM_POWER_STATUS 



我们可见BatterFlag这个成员,他加载了电池的状况和包含的标志

可知当值为128和255时反应的是没电压或者读取不到电压,

所以可以敲以下代码:

#include <Windows.h>
#include <stdio.h>

int main()
{
	SYSTEM_POWER_STATUS a;
	GetSystemPowerStatus(&a);

	if (a.BatteryFlag == 128 && a.BatteryFlag == 255)
	{
		printf("台式电脑\n");
	}
	else
	{
		printf("笔记本电脑\n");
	}

	return 0;
}
运行结果:



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

判断是笔记本还是台式机

bool checkIsLaptopOrPC() { SYSTEM_POWER_STATUS sps; GetSystemPowerStatus(&sps); if(sps.Batte...

获取(检测)电脑硬件信息(C++)

检测信息: 电脑系统、版本、位cpu信息内存状态显卡信息网卡信息、适配器、MAC物理地址IP信息 .h文件 //Get Windows system informantion static co...

蓝牙耳机连接笔记本电脑Think E430C

蓝牙耳机连接笔记本电脑Think E430C有线耳机用起来很不方便,现在都流行使用蓝牙耳机,那么怎么使用蓝牙耳机连接电脑呢?现在的很多笔记本电脑都自带蓝牙功能,如果不带的话,你需要去买一个蓝牙适配器了...

方正颐和T5600C笔记本电脑

  • 2014年05月20日 13:44
  • 442KB
  • 下载

笔记本电脑换新硬盘重装系统经验

前两天笔记本总是各种卡,一开始以为是
  • viggin
  • viggin
  • 2014年06月03日 21:02
  • 12378

在自己笔记本电脑上如何访问虚拟机的内容、包括可以使用ssh、访问tomcat、访问nginx

1、给自己的电脑设置一个回环网卡,关于如何配置回环网卡,可以百度搜索一下设置好后的状态如下:并把回环网卡的ipv4的值设置成192.168.1.1配置如下:2、将vmware中的"虚拟机"-->“设置...

笔记本电脑提速之加装内存条、SSD固态硬盘、光驱位换SSD固态硬盘

笔记本电脑提速之加装内存条、SSD固态硬盘、光驱位换SSD固态硬盘概述最近身边几个朋友都加装了SSD固态硬盘,Windows 7操作系统开机速度14秒!速度超越全国99%的电脑!不只是开机关机速度的提...

联想笔记本电脑蓝牙没有“发送文件”和“接受文件”选项的解决方法

今日不知是何原因联想笔记本自带的蓝牙显示驱动不存在,本想简单的安装一个联想官网蓝牙驱动能解决,可是结果却和想象不同。 驱动可以正常安装,并且可以正常在笔记本上显示出来正常接入的设备。 ...

笔记本电脑通用的bios界面图文详解大全

http://jingyan.baidu.com/article/0a52e3f4335477bf62ed72b4.html
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C/C++判断是否为笔记本电脑
举报原因:
原因补充:

(最多只允许输入30个字)