首先我們知道桌上型電腦和筆記本的差別就在於是否有電源
如果有讀取電源資訊的API提供回傳值,是不是就可以斷定是筆記本或桌上型電腦了呢?
下面先看一個API
GetSystemPowerStatus function
我們大體上一個直流電源有電池目前的裝載清空等等等的呢。
下面我看看參數:
SYSTEM_POWER_STATUS
我們可見的BatterFlag
我們可見5FlagFlag是沒電壓或讀取不到電壓,
所以可以敲以下程式碼:
#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; }運作結果: