CString sysop::GetOperation()
{
CString strOP;
OSVERSIONINFO OSVersionInfo;
OSVersionInfo.dwOSVersionInfoSize =
sizeof
(OSVERSIONINFO);
GetVersionEx(&OSVersionInfo);
switch
(OSVersionInfo.dwPlatformId)
{
case
VER_PLATFORM_WIN32_NT:
if
( OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 2 )
strOP.Format(
"Windows 2003 %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 1 )
strOP.Format(
"Windows XP %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 0 )
strOP.Format(
"Windows 2000 %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion <= 4 )
strOP.Format(
"Windows NT %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion == 6 )
strOP.Format(
"Windows Vista %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion == 7 )
strOP.Format(
"Windows 7 %s"
,OSVersionInfo.szCSDVersion);
if
( OSVersionInfo.dwMajorVersion > 7 )
strOP.Format(
"Windows %d.%d %s"
,OSVersionInfo.dwMajorVersion,OSVersionInfo.dwMinorVersion,OSVersionInfo.szCSDVersion);
break
;
case
VER_PLATFORM_WIN32_WINDOWS:
if
(OSVersionInfo.dwMajorVersion == 4 && OSVersionInfo.dwMinorVersion == 0)
{
strOP.Format(
"Windows 95 %s"
,OSVersionInfo.szCSDVersion);
}
if
(OSVersionInfo.dwMajorVersion == 4 && OSVersionInfo.dwMinorVersion == 10)
{
strOP.Format(
"Windows 98 %s"
,OSVersionInfo.szCSDVersion);
}
if
(OSVersionInfo.dwMajorVersion == 4 && OSVersionInfo.dwMinorVersion == 90)
{
strOP.Format(
"Windows ME %s"
,OSVersionInfo.szCSDVersion);
}
break
;
case
VER_PLATFORM_WIN32s:
strOP.Format(
"Windows Win32s"
);
break
;
default
:
strOP.Format(
"未知操作系统"
);
break
;
}
return
strOP;
}