#include "stdafx.h" #include<afxwin.h> #include <stdio.h> int IsVista(void) ; int main(int argc, char* argv[]) { int ver = IsVista(); if (ver) { printf("此系统是Vista版本\n"); } else { printf("此系统不是Vista版本\n"); } return 0; } int IsVista(void) { OSVERSIONINFO version; DWORD dwMajor; DWORD dwMinor; ::GetVersionEx(&version); dwMajor = version.dwMajorVersion; dwMinor = version.dwMinorVersion; if (dwMajor == 6 && dwMinor == 0) //vista return 1; else return 0; }
__________________________________________________________________________________
判断是中文版还是英文版
LCID language;
language = GetSystemDefaultLCID();
switch( language ) {
case 0x804:
osName = "简体中文 " + osName;
break;
case 0x404:
osName = "繁体中文 " + osName;
break;
case 0x409:
osName = "英文 " + osName;
break;
default:
osName = "非中英文版的 " + osName;
}
return osName;
__________________________________________________________________________________CString CJudgeVOSDlg::GetOsName()
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
GetVersionEx( &osv );
CString osName;
switch( osv.dwPlatformId ) {
case 1:
{
switch( osv.dwMinorVersion )
case 0:
osName = "Windows 95 ";
break;
case 10:
osName = "Windows 98 ";
break;
case 90:
osName = "Windows Me ";
break;
}
break;
case 2:
switch( osv.dwMajorVersion ) {
case 3:
osName = "Windows NT 3.51 ";
break;
case 4:
osName = "Windows NT 4.0 ";
break;
case 5:
{
switch(osv.dwMinorVersion)
{
case 0:
osName = "Windows 2000 ";
break;
case 1:
osName = "Windows XP ";
break;
case 2:
osName = "Windows 2003 Server ";
break;
}
}
break;
}
break;
default:
osName = "Unknow OS ";
}
return osName;
}______________________________________________________________Get your OS Version
enum Win32Type{
Win32s,
WinNT3,
Win95,
Win98,
WinME,
WinNT4,
Win2000,
WinXP
};
Win32Type IsShellType()
{
Win32Type ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;
winVer=GetVersion();
dwMajorVersion=(DWORD)(LOBYTE(LOWORD(winVer)));
dwMinorVersion=(DWORD)(HIBYTE(LOWORD)(winVer)));
if(winVer<0x80000000){/*NT */
ShellType=WinNT3;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType=WinNT4;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=Win2000; //version 5.0
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=WinXP; //version 5.1
free(osvi);
}
}
else if (LOBYTE(LOWORD(winVer))<4)
ShellType=Win32s;
else{
ShellType=Win95;
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=Win98;
else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType=WinME;
free(osvi);
}
}
return ShellType;
}
评论