C++获取主机信息
2013-07-24 22:05
169 查看
#include <Windows.h> #include <stdio.h> #include <string.h> #include <locale.h> #define BUF_SIZE 1024 // 获取CPU相关信息 void GetCPUInfo() { TCHAR CPU[BUF_SIZE]; SYSTEM_INFO systeminfo; // 获取CPU型号 GetSystemInfo(&systeminfo); switch (systeminfo.wProcessorArchitecture) { case PROCESSOR_ARCHITECTURE_AMD64: wcscpy(CPU, L"x64 (AMD or Intel)"); break; case PROCESSOR_ARCHITECTURE_ARM: wcscpy(CPU, L"ARM"); break; case PROCESSOR_ARCHITECTURE_IA64: wcscpy(CPU, L"Intel Itanium-based"); break; case PROCESSOR_ARCHITECTURE_INTEL: wcscpy(CPU, L"x86"); break; case PROCESSOR_ARCHITECTURE_UNKNOWN: wcscpy(CPU, L"Unknown architecture"); break; } wprintf(L"CPU 型号:%s\n", CPU); } // 获取内存信息 void GetMemoryInfo() { MEMORYSTATUS memory; memory.dwLength = sizeof(memory); //初始化 // 获取内存信息 GlobalMemoryStatus(&memory); wprintf(L"主机总内存:%d MB\n", int(memory.dwTotalPhys / 1024 / 1024)); wprintf(L"主机可用内存:%d MB\n", int(memory.dwAvailPhys / 1024 / 1024)); } // 获取磁盘信息 void GetDiskInfo() { DWORD sector, byte, cluster, free; long freespace, totalspace; UINT type; char name; TCHAR driver[] = L"C:\\"; for (name = 'A'; name <= 'Z'; name++) { driver[0] = name; type = GetDriveType(driver); //获得磁盘类型 switch (type) { case DRIVE_UNKNOWN: wprintf(L"未知类型磁盘: %c\n", driver[0]); break; case DRIVE_REMOVABLE: wprintf(L"可移动类型磁盘: %c\n", driver[0]); break; case DRIVE_FIXED: wprintf(L"固定磁盘: %c\n", driver[0]); break; case DRIVE_REMOTE: wprintf(L"网络映射磁盘: %c\n", driver[0]); break; case DRIVE_CDROM: wprintf(L"光驱: %c\n", driver[0]); break; case DRIVE_RAMDISK: wprintf(L"内存虚拟磁盘: %c\n", driver[0]); break; default: break; } if (type != DRIVE_NO_ROOT_DIR) { // 获取磁盘空间信息 GetDiskFreeSpace(driver, §or, &byte, &free, &cluster); // 磁盘总大小 totalspace = cluster / 1024 / 1024 * byte * sector / 1024; // 磁盘可用空间大小 freespace = free / 1024 / 1024 * byte * sector / 1024; wprintf(L" 总大小 %ld GB\n", totalspace); wprintf(L" 可用空间 %ld GB\n", freespace); } } } int main() { setlocale(LC_ALL, "chs"); GetCPUInfo(); GetMemoryInfo(); GetDiskInfo(); return 0; }
测试结果,硬盘可用空间不太一样。
相关文章推荐
- 初学者必看 C++简单的主机间的通信并获取服务器端的Sysinfo信息
- C++获取计算机主机信息(计算机名称、IP)
- C++获取计算机主机信息(计算机名称、IP)
- 获取主机信息(C++和C#版)
- 局域网扫描获取主机的有关信息
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- 获取主机信息(python)
- C++ 获取当前正在执行的函数的相关信息
- VC下获取远程主机共享信息的一些方法
- C++获取查询分析器中执行的错误信息
- C++ 获取当前正在执行的函数的相关信息
- JS获取客户端主机信息
- c++里的system()函数调用系统命令如何获取打印信息
- VS2010 C++ 通过CLR获取文件版本信息
- 通过shell脚本获取主机信息
- linux通过域名获取主机信息
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- 获取主机信息
- Linux环境下获取当前主机的IP/MAC等信息(C/C++)
- C++ 通过WIN32 API 获取逻辑磁盘详细信息