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

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


下面先看一个API


GetSystemPowerStatus function

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

我们大体上可以知道

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


下面我看看参数:

SYSTEM_POWER_STATUS

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

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

我们可见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;  
}
登录后复制

运行结果:

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


以上就是C/C++判断是否为笔记本电脑的内容,更多相关内容请关注Work网(www.php.cn)!


09-06 05:13