获得系统详细信息

获得系统详细信息,下面的代码获得计算机名,内存容量,驱动器类型:

#include<stdio.h>
#include<windows.h>

void GetSysInfo();

DWORD GetOS() 
{ 
	OSVERSIONINFO os; 


	os.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); 
	GetVersionEx(&os); 
	switch(os.dwPlatformId) 
	{ 
		case VER_PLATFORM_WIN32_WINDOWS: 
		return VER_PLATFORM_WIN32_WINDOWS; 

		case VER_PLATFORM_WIN32_NT: 
		return VER_PLATFORM_WIN32_NT; 
	} 
	return 0;
} 

VOID GetSysInfo() 
{ 
	TCHAR szBuff[MAX_PATH]; 
	TCHAR szTemp[MAX_PATH]; 


	wsprintf(szBuff,"\n\n\r<<System Information>>\n\n\r"); 
	printf("%s",szBuff);

											//计算机名 
	DWORD len=sizeof(szTemp); 
	GetComputerName(szTemp,&len); 
	wsprintf(szBuff,"Computer Name: %s\n\n\r",szTemp); 
	printf("%s",szBuff);

											//当前操作系统 
	switch(GetOS()) 
	{ 
		case VER_PLATFORM_WIN32_WINDOWS: 
		lstrcpy(szTemp,"Windows 9x"); 
		break; 
		case VER_PLATFORM_WIN32_NT: 
		lstrcpy(szTemp,"Windows NT/2000"); 
		break; 
	} 
	wsprintf(szBuff,"Option System: %s\n\n\r",szTemp); 
	printf("%s",szBuff);

												//内存容量 
	MEMORYSTATUS mem; 
	mem.dwLength=sizeof(mem); 
	GlobalMemoryStatus(&mem); 
	wsprintf(szBuff,"Total Memroy: %dM\n\n\r",mem.dwTotalPhys/1024/1024+1); 
	printf("%s",szBuff);

												//系统目录 
	TCHAR szPath[MAX_PATH]; 
	GetWindowsDirectory(szTemp,sizeof(szTemp)); 
	GetSystemDirectory(szBuff,sizeof(szBuff)); 
	wsprintf(szPath,"Windows Directory: %s\n\n\rSystem Directory: %s\n\n\r",szTemp,szBuff); 
	printf("%s",szBuff);

											//驱动器及分区类型 
	TCHAR szFileSys[10]; 

	for(int i=0;i<26;++i) 
	{ 
		wsprintf(szTemp,"%c:\\",'A'+i); 
		UINT uType=GetDriveType(szTemp); 
		switch(uType) 
		{ 
			case DRIVE_FIXED: 
			GetVolumeInformation(szTemp,NULL,NULL,NULL,NULL,NULL,szFileSys,MAX_PATH); 
			wsprintf(szBuff,"Hard Disk: %s (%s)\n\n\r",szTemp,szFileSys); 
			printf("%s",szBuff);
			break; 
			case DRIVE_CDROM: 
			wsprintf(szBuff,"CD-ROM Disk: %s\n\n\r",szTemp); 
			printf("%s",szBuff);
			break; 
			case DRIVE_REMOTE: 
			GetVolumeInformation(szTemp,NULL,NULL,NULL,NULL,NULL,szFileSys,MAX_PATH); 
			wsprintf(szBuff,"NetWork Disk: %s (%s)\n\n\r",szTemp,szFileSys); 
			printf("%s",szBuff);
			break; 
		} 
	} 

} 
int main(void )
{
	GetSysInfo();
	return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值