* cygcheck.cc (dump_sysinfo): Print more detailed OS information string
using OSVERSIONINFOEX information.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2001-11-12  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* cygcheck.cc (dump_sysinfo): Print more detailed OS information string | ||||||
|  | 	using OSVERSIONINFOEX information. | ||||||
|  |  | ||||||
| 2001-11-11  Christopher Faylor  <cgf@redhat.com> | 2001-11-11  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	* cygcheck.cc (scan_registry): Open registry with read-only access. | 	* cygcheck.cc (scan_registry): Open registry with read-only access. | ||||||
|   | |||||||
| @@ -771,47 +771,69 @@ dump_sysinfo () | |||||||
|   switch (osversion.dwPlatformId) |   switch (osversion.dwPlatformId) | ||||||
|     { |     { | ||||||
|     case VER_PLATFORM_WIN32s: |     case VER_PLATFORM_WIN32s: | ||||||
|       osname = (char *) "win32s"; |       osname = (char *) "32s"; | ||||||
|       break; |       break; | ||||||
|     case VER_PLATFORM_WIN32_WINDOWS: |     case VER_PLATFORM_WIN32_WINDOWS: | ||||||
|       switch (osversion.dwMinorVersion) |       switch (osversion.dwMinorVersion) | ||||||
| 	{ | 	{ | ||||||
| 	case 0: | 	case 0: | ||||||
| 	  if (strchr(osversion.szCSDVersion, 'C')) | 	  if (strchr(osversion.szCSDVersion, 'C')) | ||||||
| 	    osname = (char *) "Win95OSR2"; | 	    osname = (char *) "95 OSR2"; | ||||||
| 	  else | 	  else | ||||||
| 	    osname = (char *) "Win95"; | 	    osname = (char *) "95"; | ||||||
| 	  break; | 	  break; | ||||||
| 	case 10: | 	case 10: | ||||||
| 	  if (strchr(osversion.szCSDVersion, 'A')) | 	  if (strchr(osversion.szCSDVersion, 'A')) | ||||||
| 	    osname = (char *) "Win98SE"; | 	    osname = (char *) "98 SE"; | ||||||
| 	  else | 	  else | ||||||
| 	    osname = (char *) "Win98"; | 	    osname = (char *) "98"; | ||||||
| 	  break; | 	  break; | ||||||
| 	case 90: | 	case 90: | ||||||
| 	  osname = (char *) "WinME"; | 	  osname = (char *) "ME"; | ||||||
| 	  break; | 	  break; | ||||||
| 	default: | 	default: | ||||||
| 	  osname = (char *) "Win9X"; | 	  osname = (char *) "9X"; | ||||||
| 	  break; | 	  break; | ||||||
| 	} | 	} | ||||||
|       break; |       break; | ||||||
|     case VER_PLATFORM_WIN32_NT: |     case VER_PLATFORM_WIN32_NT: | ||||||
|       if (osversion.dwMajorVersion == 5) |       if (osversion.dwMajorVersion == 5) | ||||||
| 	{ | 	{ | ||||||
|  | 	  BOOL more_info = FALSE; | ||||||
|  | 	  OSVERSIONINFOEX osversionex; | ||||||
|  | 	  osversionex.dwOSVersionInfoSize = sizeof (osversionex); | ||||||
|  | 	  if (GetVersionEx ((OSVERSIONINFO *)&osversionex)) | ||||||
|  | 	    more_info = TRUE; | ||||||
| 	  if (osversion.dwMinorVersion == 0) | 	  if (osversion.dwMinorVersion == 0) | ||||||
| 	    osname = (char *) "Win2000"; | 	    { | ||||||
|  | 	      if (!more_info) | ||||||
|  | 		osname = (char *) "2000"; | ||||||
|  | 	      else if (osversionex.wProductType == VER_NT_SERVER) | ||||||
|  | 	        osname = (char *) "2000 Server"; | ||||||
|  | 	      else | ||||||
|  | 	        osname = (char *) "2000 Professional"; | ||||||
|  | 	    } | ||||||
| 	  else | 	  else | ||||||
| 	    osname = (char *) "WinXP"; | 	    { | ||||||
|  | 	      if (!more_info) | ||||||
|  | 		osname = (char *) "XP"; | ||||||
|  | 	      else if (osversionex.wProductType == VER_NT_SERVER) | ||||||
|  | 		osname = (char *) ".NET Server"; | ||||||
|  | 	      else if (osversionex.wSuiteMask & VER_SUITE_PERSONAL) | ||||||
|  | 	        osname = (char *) "XP Home Edition"; | ||||||
|  | 	      else | ||||||
|  | 	        osname = (char *) "XP Professional"; | ||||||
|  | 		 | ||||||
|  | 	    } | ||||||
|         } |         } | ||||||
|       else |       else | ||||||
| 	osname = (char *) "WinNT"; | 	osname = (char *) "NT"; | ||||||
|       break; |       break; | ||||||
|     default: |     default: | ||||||
|       osname = (char *) "uknown-os"; |       osname = (char *) "??"; | ||||||
|       break; |       break; | ||||||
|     } |     } | ||||||
|   printf ("%s Ver %d.%d build %d %s\n\n", osname, |   printf ("Windows %s Ver %d.%d build %d %s\n\n", osname, | ||||||
| 	  (int) osversion.dwMajorVersion, (int) osversion.dwMinorVersion, | 	  (int) osversion.dwMajorVersion, (int) osversion.dwMinorVersion, | ||||||
| 	  (int) osversion.dwBuildNumber, osversion.szCSDVersion); | 	  (int) osversion.dwBuildNumber, osversion.szCSDVersion); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user