📄 status.cpp
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 预处理
#include "Main.h"
#include "Status.h"
#include <Projects.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 显示电源状态
VOID CStatus::ShowPower()
{
TCHAR tzText[1024];
SYSTEM_POWER_STATUS_EX2 spsePower = {0};
if (GetSystemPowerStatus(spsePower) == 0)
{
CMainWnd::ErrBox(STR_PowerError, IDM_View_Power);
}
wsprintf(tzText, STR_PowerInfo,
GetBatteryFlag(spsePower.BatteryFlag),
(UINT) spsePower.BatteryLifePercent,
spsePower.BatteryVoltage,
spsePower.BatteryCurrent,
spsePower.BatteryAverageCurrent,
spsePower.BatterymAHourConsumed,
(spsePower.BatteryTemperature >= 100) ? (spsePower.BatteryTemperature + 5) / 10 : spsePower.BatteryTemperature,
GetBatteryChemistry(spsePower.BatteryChemistry),
GetBatteryFlag(spsePower.BackupBatteryFlag),
(UINT) spsePower.BackupBatteryLifePercent,
spsePower.BackupBatteryVoltage);
CMainWnd::MsgBox(tzText, IDM_View_Power);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 显示存储状态
VOID CStatus::ShowStorage()
{
// 全局内存
MEMORYSTATUS msMemory;
GlobalMemoryStatus(&msMemory);
// 对象存储
STORE_INFORMATION siStore;
GetStoreInformation(&siStore);
TCHAR tzText[1024];
PTSTR p = tzText + wsprintf(tzText, STR_MemoryStore,
(FLOAT) msMemory.dwTotalPhys / (1024 * 1024),
(FLOAT) msMemory.dwAvailPhys / (1024 * 1024),
(msMemory.dwAvailPhys * 100) / msMemory.dwTotalPhys,
(FLOAT) siStore.dwStoreSize / (1024 * 1024),
(FLOAT) siStore.dwFreeSize / (1024 * 1024),
(siStore.dwFreeSize * 100) / siStore.dwStoreSize);
// 闪存卡
WIN32_FIND_DATA fdFind;
HANDLE hFind = FindFirstFlashCard(&fdFind);
if (hFind != INVALID_HANDLE_VALUE)
{
do
{
TCHAR tzPath[MAX_PATH];
ULONGLONG ulTotal, ulFree;
wsprintf(tzPath, TEXT("\\%s"), fdFind.cFileName);
if (fdFind.cFileName[0] &&
GetDiskFreeSpaceEx(tzPath, (ULARGE_INTEGER *) &ulFree, (ULARGE_INTEGER *) &ulTotal, NULL))
{
p += wsprintf(p, STR_FlashCard,
fdFind.cFileName,
(FLOAT) ulTotal / (1024 * 1024),
(FLOAT) ulFree / (1024 * 1024),
(DWORD) (ulFree * 100 / ulTotal));
}
}
while (FindNextFlashCard(hFind, &fdFind));
FindClose(hFind);
}
CMainWnd::MsgBox(tzText, IDM_View_Storage);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -