c语言如何获取计算机参数,怎么用c语言程序获取计算机信息

开机密码不能获取哦。用户名很简单。只要用个GetUserName这个API就行了。详细的代码我给你看看:

//#include "stdafx.h"//#include "GetSysInfo.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCWinApp theApp;using namespace std;// 获取CPU相关信息void GetCPUInfo(){CString CPU;SYSTEM_INFO systeminfo;// 获取CPU型号GetSystemInfo (&systeminfo);switch (systeminfo.dwProcessorType){case PROCESSOR_INTEL_386: // 386系列CPU = "PROCESSOR_INTEL_386";break;case PROCESSOR_INTEL_486: // 486系列CPU = "PROCESSOR_INTEL_486";break;case PROCESSOR_INTEL_PENTIUM: // 奔腾系列CPU = "PROCESSOR_INTEL_PENTIUM";break;case PROCESSOR_MIPS_R4000:CPU = "PROCESSOR_MIPS_R4000";break;case PROCESSOR_HITACHI_SH3:CPU = "PROCESSOR_HITACHI_SH3";break;case PROCESSOR_HITACHI_SH4:CPU = "PROCESSOR_HITACHI_SH4";break;case PROCESSOR_STRONGARM:CPU = "PROCESSOR_STRONGARM";break;case PROCESSOR_ARM720:CPU = "PROCESSOR_ARM720";break;default:CPU = "Unknown Type";break;}printf("\n\nCPU 型号:%s\n\n",CPU);}// 获取内存信息void GetMemoryInfo(){CString MemoryTotal; // 总内存大小CString MemoryAvail; // 可用内存大小MEMORYSTATUS memory;memory.dwLength =sizeof(memory); //初始化// 获取内存信息GlobalMemoryStatus(&memory);MemoryTotal.Format(_T("%d Mb"),int(memory.dwTotalPhys/1024/1024));MemoryAvail.Format(_T("%d Mb"),int(memory.dwAvailPhys/1024/1024));printf("主机总内存:%s\n\n",MemoryTotal);printf("主机可用内存:%s\n\n",MemoryAvail);}// 获取磁盘信息void GetDiskInfo(){DWORD sector,byte,cluster,free;long int freespace,totalspace;UINT type;char name;CString strname;// 循环检测A~Z, 找到磁盘即输出//0—未知盘、1—不存在、2—可移动磁盘、3—固定磁盘 //4—网络磁盘、5—CD-ROM、6—内存虚拟盘for (name='A';name<='Z';name++) {strname.Format(_T("%c:"),name);type = GetDriveType(strname); //获得磁盘类型switch(type){case 0:printf("未知类型磁盘: %s",strname);break;case 2:printf("可移动类型磁盘: %s",strname);break;case 3:printf("固定磁盘: %s",strname);break;case 4:printf("网络映射磁盘: %s",strname);break;case 5:printf("光驱: %s",strname);break;case 6:printf("内存虚拟磁盘: %s",strname);break;default:break;}if(type != 1){// 获取磁盘空间信息GetDiskFreeSpace(strname,&sector,&byte,&free,&cluster);// 磁盘总大小totalspace = int(cluster)*byte*sector/1024/1024;// 磁盘可用空间大小freespace = int(free)*byte*sector/1024/1024; printf(" 总大小 %d Mb",totalspace);printf(" 可用空间 %d Mb",freespace);printf("\n");}}}int _t main(int argc, TCHAR* argv[], TCHAR* envp[]){int nRetCode = 0;// initialize MFC and print and error on failureif (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)){// TODO: change error code to suit your needscerr << _T("Fatal Error: MFC initialization failed") << endl;nRetCode = 1;}else{// TODO: code your application's behavior here.// 输出CPU信息GetCPUInfo();// 输出内存信息GetMemoryInfo();// 输出磁盘信息GetDiskInfo();}return nRetCode;}

其中获取了系统的很多相关信息。像cpu内存硬盘用户名等等。你可以参考一下,呵呵。

取消

评论

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值