Pasted by Tom - 1 month ago
// Returns the name of the OS (also logs that info)
char *tacGRM::getOSName(void)
{
char *csd = NULL;
char *ret = "Unknown";
OSVERSIONINFO os;
os.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&os);
switch (os.dwPlatformId)
{
case 1:
{
switch (os.dwMinorVersion)
{
case 0: ret = "Windows 95"; break;
case 10: ret = "Windows 98"; break;
case 90: ret = "Windows Me"; break;
}
break;
}
case 2:
{
switch (os.dwMajorVersion)
{
case 3: ret = "Windows NT 3.51"; break;
case 4: ret = "Windows NT 4.0"; break;
case 5:
{
if (os.dwMinorVersion == 0)
ret = "Windows 2000";
else
ret = "Windows XP";
break;
}
case 6: ret = "Windows Vista"; break;
}
csd = os.szCSDVersion;
break;
}
}
applog.log("[tacGRM::getOSName] Version of Windows: %s", ret);
if (csd && *csd)
applog.log("[tacGRM::getOSName] Service pack level: %s", csd);
return ret;
}