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;
}

 

posted on 2004-09-18 17:47  悠悠小鱼  阅读(289)  评论(0)    收藏  举报

导航