如何判断当前操作系统的版本
来源:百度文库 编辑:神马文学网 时间:2024/04/30 02:18:47
//判断操作系统涵数及变量,jingzhou xu
typedef enum tagWin32SysType{
Windows32s,
WindowsNT3,
Windows95,
Windows98,
WindowsME,
WindowsNT4,
Windows2000,
WindowsXP
}Win32SysType;
//判断操作系统涵数及变量,jingzhou xu
Win32SysType IsShellSysType()
{
Win32SysType ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;
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;
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;
}
//------------------------------------------------------------------------------------------------
用法 :
//Win98、95、32下不用,jingzhou xu
Win32SysType SysType = IsShellSysType();
if(SysType != Windows32s && SysType != Windows95 && SysType !=Windows98)
{
//显示动态GIF图像logo,jingzhou xu
if (m_Picture.Load(MAKEINTRESOURCE(IDR_GIF),_T("GIF")))
{
m_Picture.Draw();
}
}
typedef enum tagWin32SysType{
Windows32s,
WindowsNT3,
Windows95,
Windows98,
WindowsME,
WindowsNT4,
Windows2000,
WindowsXP
}Win32SysType;
//判断操作系统涵数及变量,jingzhou xu
Win32SysType IsShellSysType()
{
Win32SysType ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;
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;
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;
}
//------------------------------------------------------------------------------------------------
用法 :
//Win98、95、32下不用,jingzhou xu
Win32SysType SysType = IsShellSysType();
if(SysType != Windows32s && SysType != Windows95 && SysType !=Windows98)
{
//显示动态GIF图像logo,jingzhou xu
if (m_Picture.Load(MAKEINTRESOURCE(IDR_GIF),_T("GIF")))
{
m_Picture.Draw();
}
}
如何判断当前操作系统的版本
索罗斯当前经济形势的判断
对当前房地产形势的判断
当前通胀问题的主要判断
【新华社】如何全面正确地判断我国当前经济形势-070728
根据Windows操作系统版本选择安装哪个IIS版本的方法
当前比较全的Linux各种版本简介
当前比较全的Linux各种版本简介
如何编写自己的操作系统
如何进行操作系统的更新?
如何判断MACD的
如何看当前的中美关系
对当前中国经济形势的三个基本判断
对当前中国经济形势的三个基本判断
当前货币金融形势的新特点与走势判断
厉以宁:我对当前经济形势的几个判断
对当前中国经济形势的三个基本判断
成都学者:对当前社会形势的判断
成都学者:对当前社会形势的判断
成都学者:对当前社会形势的判断
对当前中国经济形势的三个基本判断
依据操作系统声音判断故障
如何挽救崩溃的Windows XP操作系统
如何查看Linux操作系统的位数?