- /**********************************************************
- 函数名:GetComputerDeivceInfo
- 功 能: 获取电脑硬件相关信息
- 参 数: 无参数
- 返回值: 无
- **********************************************************/
- void GetComputerDeivceInfo()
- {
- /*********************读内存盘消息***************************/
- //char strDeivceInfo[512] = {0};
- MEMORYSTATUS MemoryStatus;
- MemoryStatus.dwLength = sizeof(MEMORYSTATUS);
- GlobalMemoryStatus(&MemoryStatus);
- char buffer[20];
- sprintf(buffer,"MEMORY:%dMB/r/n",MemoryStatus.dwTotalPhys/1024/1024);
- /*********************读取硬盘消息***************************/
- /*实际存储驱动器号的字符串长度*/
- DWORD dwNumBytesForDriveStrings;
- HANDLE hHeap;
- LPSTR lp;
- ULARGE_INTEGER FreeAv,TotalBytes,FreeBytes;
- char strToal[20] = {0};
- char strFree[20] ={0};
- char strspent[20] = {0};
- char strDiskInfo [50] = {0};
- for(int nIndex = 'A'; nIndex<'Z'; nIndex++) {
- char x[4] = {nIndex,":"} ;
- char strDiskName[FILENAME_MAX] = {0};
- sprintf( strDiskName , "%s//" , x);
- DWORD dwType = GetDriveType(strDiskName);
- switch(dwType){ //其实后面还有些东西的..后面删了也就没管了..呵呵...只是判断硬盘if一下子就行了
- case DRIVE_FIXED: // 硬盘驱动器
- GetDiskFreeSpaceEx(strDiskName,&FreeAv,&TotalBytes,&FreeBytes);
- sprintf(strToal,"%uG",TotalBytes.QuadPart/1024/1024/1024); //总容量
- sprintf(strFree,"%uG",FreeAv.QuadPart/1024/1024/1024); //空闲容量
- sprintf(strspent,"%uG", (TotalBytes.QuadPart/1024/1024/1024) - (FreeAv.QuadPart/1024/1024/1024));//已用
- sprintf(strDiskInfo,"DiskName:%3sTotal:%3sFree:%3sSpent:%3s/r/n",strDiskName,strToal,strFree,strspent);
- break;
- }
- }
- /*********************读取CPU消息***************************/
- char strCpuInfo[128] = {0};
- HKEY hKEY;
- LPCTSTR data_Set="HARDWARE//DESCRIPTION//System//CentralProcessor//0//";
- RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,&hKEY);
- /*定义用户姓名 owner_Get*/
- LPBYTE owner_Get=new BYTE[128];
- /*定义数据类型*/
- DWORD type_1=REG_SZ;
- /*定义数据长度*/
- DWORD cbData_1=128;
- RegQueryValueEx(hKEY,"ProcessorNameString",NULL,&type_1,owner_Get,&cbData_1);
- char* c = new char[128];
- //c = (char*)owner_Get;
- memcpy((char*)&c,(char*)&owner_Get,sizeof(c));
- sprintf(strCpuInfo,"CPUTYPE:%s/r/n",c);
- RegCloseKey(hKEY);
- return ;
- }
获取硬盘大小.内存.cpu信息
最新推荐文章于 2024-05-13 23:56:55 发布