#include "stdafx.h" #include "windows.h" #include "iostream.h" #include "Vfw.h" #include <winioctl.h> #include <winsock.h> //载入摄像头驱动函数库 #pragma comment(lib,"Vfw32.lib") #pragma comment(lib,"ws2_32.lib") //硬盘信息 DISK_GEOMETRY pdg; BOOL bResult; ULONGLONG DiskSize; void GetMemoryInfo1() { MEMORYSTATUS memstatus; memset(&memstatus,0,sizeof(MEMORYSTATUS)); memstatus.dwLength=sizeof(MEMORYSTATUS); GlobalMemoryStatus(&memstatus); DWORD mem=memstatus.dwAvailPhys/1024/1024; DWORD totalphy=memstatus.dwTotalPhys/1024/1024; int usingmem=totalphy-mem; cout<<"内存:"<<totalphy<<"M/n"; cout<<"使用中:"<<usingmem<<"M/n"; cout<<"空闲:"<<mem<<"M/n"; cout<<"使用率:"<<memstatus.dwMemoryLoad<<"%"<<endl; } void a() { cout<<"----------------------------/n"; } void GetCpuInfo() { DWORD len=256; DWORD type=REG_SZ; LPBYTE last=new BYTE[256]; HKEY hKey; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"HARDWARE//DESCRIPTION//System//CentralProcessor//0",0,KEY_READ,&hKey)==ERROR_SUCCESS&&RegQueryValueEx(hKey,"ProcessorNameString",NULL,&type,last,&len)==ERROR_SUCCESS) { cout<<"CPU型号:"<<last<<"/n"; } } void GetCpuGhz() { int tick1,tick2; _asm rdtsc _asm mov tick1,eax Sleep(50); _asm rdtsc double freq=(tick2-tick1)/50000; _asm mov tick2,eax; freq/=1000; printf("CPU实际运行频率:%.2f GHz/n",freq); } void GetCpuNum() { SYSTEM_INFO sysInfo; GetSystemInfo(&sysInfo); cout<<"CPU核心数量:"<<sysInfo.dwNumberOfProcessors<<"核/n"; } void GetComputerName1() { char Temp[126]; unsigned long lLength=125; memset(Temp,0,126); ::GetComputerName(Temp,&lLength); cout<<"计算机名:"<<Temp<<"/n"; } void GetUserName1() { char Temp[126]; unsigned long lLength=125; memset(Temp,0,126); ::GetUserName(Temp,&lLength); cout<<"用户名:"<<Temp<<"/n"; } void Getos() { char* os; OSVERSIONINFO osvi; memset(&osvi,0,sizeof(OSVERSIONINFO)); osvi.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); GetVersionEx(&osvi); if(osvi.dwMajorVersion<=4) os="Winmdows NT"; if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) os="Windows 2000"; if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) os="Windows XP"; if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) os="Windows 2003"; if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) os="Windows Vista"; if(os==NULL) os="未知"; cout<<"操作系统:"<<os<<"/n"; } void GetIfCamera() { char szVfwName[MAX_PATH]; char szVfwVersion[MAX_PATH]; memset(szVfwName,0,MAX_PATH); memset(szVfwVersion,0,MAX_PATH); capGetDriverDescription(0,szVfwName,MAX_PATH,szVfwVersion,MAX_PATH); if(lstrlen(szVfwName) == 0) cout<<"摄像头:NO/n"; else cout<<"摄像头:YES/n"; } int main() { GetMemoryInfo1(); a(); GetCpuInfo(); // a(); GetCpuGhz(); a(); GetCpuNum(); a(); GetComputerName1(); a(); GetUserName1(); a(); Getos(); a(); GetIfCamera(); a(); return 0; }