int __stdcall WinMain(HINSTANCE hPrevIntance, HINSTANCE hInstance, LPSTR lpCmdLine, int nCmdShow) { OSVERSIONINFO vi = { sizeof(OSVERSIONINFO) };
// Versions // VER_PLATFORM_WIN32_NT (PlatformId) // (Major, Minor = Version) // 5, 0 = Windows 2000 // 5, 1 = Windows XP // 5, 2 = Windows 2003 // VER_PLATFORM_WIN32_WINDOWS // 4, 0 = Windows 95 // 4, 10 = Windows 98 // 4, 90 = Windows ME // VER_PLATFORM_WIN32s // ??? // // Additional Info is available using: // ProductType: VER_NT_WORKSTATION, VER_NT_SERVER, VER_NT_DOMAIN_CONTROLLER // wSuiteMask (Use '&' with the constants and check the boolean result; Standard, if none match): // VER_SUITE_PERSONAL, VER_SUITE_ENTERPRISE, VER_SUITE_BLADE, VER_SUITE_DATACENTER
if (GetVersionEx(&vi)) { if (vi.dwPlatformId == VER_PLATFORM_WIN32_NT) { if (vi.dwMajorVersion==5 && vi.dwMinorVersion==0) MessageBoxA(NULL, "Running Windows 2000", "Info", MB_OK); else if (vi.dwMajorVersion==5 && vi.dwMinorVersion==1) MessageBoxA(NULL, "Running Windows XP", "Info", MB_OK); else if (vi.dwMajorVersion==5 && vi.dwMinorVersion==2) MessageBoxA(NULL, "Running Windows 2003", "Info", MB_OK); else MessageBoxA(NULL, "Unidentified Win32 NT class OS", "Info", MB_OK); } else if (vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { if (vi.dwMajorVersion==4 && vi.dwMinorVersion==0) MessageBoxA(NULL, "Running Windows 95", "Info", MB_OK); else if (vi.dwMajorVersion==4 && vi.dwMinorVersion==10) MessageBoxA(NULL, "Running Windows 98", "Info", MB_OK); else if (vi.dwMajorVersion==4 && vi.dwMinorVersion==90) MessageBoxA(NULL, "Running Windows Millennium Edition", "Info", MB_OK); else MessageBoxA(NULL, "Unidentified Win32 non-NT class OS", "Info", MB_OK); } else if (vi.dwPlatformId == VER_PLATFORM_WIN32s) { MessageBoxA(NULL, "Unidentified Win32 class OS", "Info", MB_OK); } else { MessageBoxA(NULL, "Unidentified OS", "Info", MB_OK); } } else { MessageBoxA(NULL, "OS info not available!", "Error", MB_OK); }
return 0; }
posted by Nitin Reddy Katkam at 4:00 AM on Mar 15, 2006
"Who Am I?"
No comments yet. -