请问在程序中怎样获知windows的版本? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ZT 判断操作系统版本OSVERSIONINFO osV;osV.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);GetVersionEx (&osV);if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==10){ OS_Version=OS_98;}else if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==90){ OS_Version=OS_ME;}else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==5){ OS_Version=OS_XP_2000;}else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==4){ OS_Version=OS_NT_4;}else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==333){ OS_Version=OS_NT_3;}switch(OS_Version){ case OS_XP_2000: // break; case OS_98: // break; case OS_ME: // break; default: break;}判断语言版本:SYSTEMLANGUAGE=GetOEMCP();switch(SYSTEMLANGUAGE){ case 936: //简体 break; case 950: //繁体 break; default: break;} 判断当前操作系统的版本typedef enum tagWin32SysType{Windows32s,WindowsNT3,Windows95,Windows98,WindowsME,WindowsNT4,Windows2000,WindowsXP}Win32SysType;//判断操作系统涵数及变量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;} GetVersionExThe GetVersionEx function obtains extended information about the version of the operating system that is currently running.BOOL GetVersionEx( LPOSVERSIONINFO lpVersionInformation // pointer to version // information structure); ComboBox选择项字体为什么自己会发生变化? 关于数据库连接问题 Atl建立的Service与传统Service程序有何优点?哪个更好一些? 五道作业,马上要交,帮个忙 回调函数,没有用过,高手指点一下 求ACM资料 如何去掉(隐藏)边框 怎么才能使CToolTipCtrl在所属窗口inactive情况下也能显示tip字符串? 怎么动态的取得数据库中的表? 可以将SDI程序改成MDI程序吗? 帮个忙,100分就这样送给你 CListView无法显示数据
OSVERSIONINFO osV;
osV.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx (&osV);
if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==10)
{
OS_Version=OS_98;
}
else if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==90)
{
OS_Version=OS_ME;
}
else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==5)
{
OS_Version=OS_XP_2000;
}
else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==4)
{
OS_Version=OS_NT_4;
}
else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==333)
{
OS_Version=OS_NT_3;
}
switch(OS_Version)
{
case OS_XP_2000:
//
break;
case OS_98:
//
break;
case OS_ME:
//
break;
default:
break;
}判断语言版本:
SYSTEMLANGUAGE=GetOEMCP();
switch(SYSTEMLANGUAGE)
{
case 936:
//简体
break;
case 950:
//繁体
break;
default:
break;
}
typedef enum tagWin32SysType{
Windows32s,
WindowsNT3,
Windows95,
Windows98,
WindowsME,
WindowsNT4,
Windows2000,
WindowsXP
}Win32SysType;//判断操作系统涵数及变量
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;
}
The GetVersionEx function obtains extended information about the version of the operating system that is currently running.BOOL GetVersionEx(
LPOSVERSIONINFO lpVersionInformation // pointer to version
// information structure
);