⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 status.cpp

📁 Cele Task - 强大的工作管理员
💻 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 + -