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;
}