GetSysInfoGUI
//点击这里下载Release版本
//点击这里下载源码
//其中的一个 CLASS
/*******************************************
*文件名:SysInfo.h
*******************************************/
class CSysInfo
{
public:
CString GetSystemDir();
CString GetWindowsDir();
CString GetSPType();
CString GetMemSize();
CString GetOSType();
CSysInfo();
virtual ~CSysInfo();
private:
OSVERSIONINFO* osvi;
MEMORYSTATUS mem;
};
/*******************************************
*文件名:SysInfo.cpp
*******************************************/
#include "stdafx.h"
#include "SysInfo.h"
CSysInfo::CSysInfo()
{
}
CSysInfo::~CSysInfo()
{
}
CString CSysInfo::GetOSType()
{
CString ShellType;
DWORD winVer;
winVer=GetVersion();
if(winVer<0x80000000){/*NT */
ShellType="WindowsNT3";
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType="WindowsNT4";
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType="Windows2000";
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType="WindowsXP";
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==2L)ShellType="Windows2003";
free(osvi);
}
}
else if (LOBYTE(LOWORD(winVer))<4)
ShellType="Windows32s";
else{
ShellType="Windows95";
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)ShellType="Windows98";
else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType="WindowsME";
free(osvi);
}
}
return ShellType;
}
CString CSysInfo::GetMemSize()
{
CString szBuff;
mem.dwLength = sizeof(mem);
GlobalMemoryStatus(&mem);
szBuff.Format("%dM",mem.dwTotalPhys/1024/1024+1);
return szBuff;
}
CString CSysInfo::GetSPType()
{
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
return osvi->szCSDVersion;
}
CString CSysInfo::GetWindowsDir()
{
TCHAR szPath[32];
GetWindowsDirectory(szPath,sizeof(szPath));
return szPath;
}
CString CSysInfo::GetSystemDir()
{
TCHAR szPath[32];
GetSystemDirectory(szPath,sizeof(szPath));
return szPath;
}
浙公网安备 33010602011771号