首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么判断系统是否是win7和windows 2003和XP

2013-07-01 
如何判断系统是否是win7和windows 2003和XP#include stdafx.h#includeafxwin.h#include stdio.hint

如何判断系统是否是win7和windows 2003和XP
#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; 


我现在想判断系统是否是win7和windows 2003和XP!我该如何实现,
请高手们帮帮忙!小弟感激不尽!
[解决办法]
采用GetSystemInfo函数进行处理,请看下面的说明信息:
SYSINFO.nWinMajor:
4  The operating system is Windows NT 4.0.   
5  The operating system is Windows Server 2003 R2, Windows Server 2003, Windows   XP,or Windows 2000.  
6  The operating system is Windows Vista , Windows Server 2008 or Windows 7   

SYSINFO.nWinMinor:
0  The operating system is Windows Vista, Windows Server 2008, Windows 2000, or Windows NT 4.0.   
1  The operating system is Windows XP.   
2  The operating system is Windows Server 2003 R2, Windows Server 2003, or Windows XP Professional x64 Edition.  

GetSystemInfo(WINMINOR, nvResult, svResult); 
GetSystemInfo(WINMAJOR, nvResult, svResult);

 

win 95              4.0

win 98              4.1

win 2000win NT)      5.0

win xp(NT5.1)         5.1 

win 2003          5.2

win Vista          6.0

win 7               6.1

[解决办法]
//============得到操作系统
CString GetSystem()
{
AntiAV();
TCHAR szwindows[128];
ZeroMemory(szwindows,sizeof(szwindows));

TCHAR szSubKeys[]="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
//------------打开注册表键
HKEY hKeys;


if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,szSubKeys,0L,KEY_ALL_ACCESS,&hKeys) == ERROR_SUCCESS)
{
DWORD dwType;
DWORD dwSize=200;
RegQueryValueEx(hKeys,"ProductName",NULL,&dwType,(BYTE *)szwindows,&dwSize);
RegCloseKey(hKeys); 
}
//------------判断当前的操作系统
if(StrStrI(szwindows,"2000")!=NULL)
return "Win2000";
else if(StrStrI(szwindows,"XP")!=NULL)
return "WinXP";
else if(StrStrI(szwindows,"2003")!=NULL)
return "Win2003";
else if(StrStrI(szwindows,"Vista")!=NULL)
return "WinVista";
    else if(StrStrI(szwindows,"2008")!=NULL)
return "Win2008";
    else if(StrStrI(szwindows,"7")!=NULL)
return "Win7";

return "Faild";
}

热点排行