📄 status.h
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 预处理
#pragma once
#include <Windows.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 电源信息字符串
#ifdef _CHS
#define STR_PowerError TEXT("无法获取电源状态。")
#define STR_PowerInfo TEXT("主要电池:\t%s (%u%%)\n") \
TEXT(" 当前电压:\t%u 毫伏\n") \
TEXT(" 当前电流:\t%d 毫安\n") \
TEXT(" 平均电流:\t%d 毫安\n") \
TEXT(" 放电容量:\t%u 毫安时\n") \
TEXT(" 电池温度:\t%u 摄氏度\n") \
TEXT(" 化学性质:\t%s\n\n") \
TEXT("备用电池:\t%s (%u%%)\n") \
TEXT(" 当前电压:\t%u 毫伏") \
//TEXT("\n\n交流线路:\t%s\n ")
#define STR_High TEXT("高")
#define STR_Low TEXT("低")
#define STR_Critical TEXT("危险")
#define STR_Charging TEXT("正在充电")
#define STR_None TEXT("无")
#define STR_Unknown TEXT("未知")
#define STR_Alkaline TEXT("碱性电池")
#define STR_NiCd TEXT("镍镉电池")
#define STR_NiMH TEXT("镍氢电池")
#define STR_LiIon TEXT("锂离子电池")
#define STR_LiPB TEXT("锂聚合电池")
#else
#define STR_PowerError TEXT("Could not get power status.")
#define STR_PowerInfo TEXT("Battery: %s (%u%%)\n") \
TEXT(" Voltage:\t%u mV\n") \
TEXT(" Current:\t%d mA\n") \
TEXT(" Avg. Cur.:\t%d mA\n") \
TEXT(" Discharge:\t%u mAH\n") \
TEXT(" Temp.:\t%u °C\n") \
TEXT(" Chemistry:\t%s\n\n") \
TEXT("Backup: %s (%u%%)\n") \
TEXT(" Voltage:\t%u mV")
#define STR_High TEXT("High")
#define STR_Low TEXT("Low")
#define STR_Critical TEXT("Critical")
#define STR_Charging TEXT("Charging")
#define STR_None TEXT("None")
#define STR_Unknown TEXT("Unknown")
#define STR_Alkaline TEXT("Alkaline")
#define STR_NiCd TEXT("NiCd")
#define STR_NiMH TEXT("NiMH")
#define STR_LiIon TEXT("LiIon")
#define STR_LiPB TEXT("LiPB")
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 存储信息字符串
#ifdef _CHS
#define STR_MemoryStore TEXT("全局内存:\n") \
TEXT(" 总共: %.02f MB\n") \
TEXT(" 空闲: %.02f MB (%u%%)\n\n") \
TEXT("对象存储:\n") \
TEXT(" 总共: %.02f MB\n") \
TEXT(" 空闲: %.02f MB (%u%%)\n\n")
#define STR_FlashCard TEXT("%s:\n") \
TEXT(" 总共: %.02f MB\n") \
TEXT(" 空闲: %.02f MB (%u%%)\n\n")
#else
#define STR_MemoryStore TEXT("Memory:\n") \
TEXT(" Total: %.02f MB\n") \
TEXT(" Free: %.02f MB (%u%%)\n\n") \
TEXT("Store:\n") \
TEXT(" Total: %.02f MB\n") \
TEXT(" Free: %.02f MB (%u%%)\n\n")
#define STR_FlashCard TEXT("%s:\n") \
TEXT(" Total: %.02f MB\n") \
TEXT(" Free: %.02f MB (%u%%)\n\n")
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CStatus 类
class CStatus
{
public:
// 显示电源状态
static VOID ShowPower();
// 显示存储状态
static VOID ShowStorage();
private:
// 获取电池标记
inline static PTSTR GetBatteryFlag(BYTE bFlag)
{
switch (bFlag)
{
case BATTERY_FLAG_HIGH: return STR_High;
case BATTERY_FLAG_LOW: return STR_Low;
case BATTERY_FLAG_CRITICAL: return STR_Critical;
case BATTERY_FLAG_CHARGING: return STR_Charging;
case BATTERY_FLAG_NO_BATTERY: return STR_None;
default: return STR_Unknown;
}
}
// 获取电池性质
inline static PTSTR GetBatteryChemistry(DWORD dwChemistry)
{
switch (dwChemistry)
{
case BATTERY_CHEMISTRY_ALKALINE: return STR_Alkaline;
case BATTERY_CHEMISTRY_NICD: return STR_NiCd;
case BATTERY_CHEMISTRY_NIMH: return STR_NiMH;
case BATTERY_CHEMISTRY_LION: return STR_LiIon;
case BATTERY_CHEMISTRY_LIPOLY: return STR_LiPB;
default: return STR_Unknown;
}
}
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -