public static extern short GetVersionEx(ref SEBClientInfo.OSVERSIONINFO o);
public static bool SetSystemVersionInfo() { SEBClientInfo.OSVERSIONINFO o = new SEBClientInfo.OSVERSIONINFO(); o.dwOSVersionInfoSize = Marshal.SizeOf(typeof(SEBClientInfo.OSVERSIONINFO)); int num = 800; try { if ((int)SEBClientInfo.GetVersionEx(ref o) != 0) { switch (o.dwPlatformId) { case 1: switch (o.dwMinorVersion) { case 0: num = 950; break; case 10: num = 980; break; case 90: num = 999; break; default: num = 800; break; } break; case 2: switch (o.dwMajorVersion) { case 3: num = 1351; break; case 4: num = 1400; break; case 5: num = o.dwMinorVersion != 0 ? 2010 : 2000; break; case 6: num = o.dwMinorVersion != 0 ? (o.dwMinorVersion != 1 ? (o.dwMinorVersion != 2 ? 2050 : 2050) : 2050) : 2050; break; case 10: num = 2050; break; default: num = 800; break; } break; default: num = 800; break; } } } catch (Exception ex) { Logger.AddError("SetSystemVersionInfo.", (object)null, ex, (string)null); } Logger.AddInformation("OS Version: " + num.ToString(), (object)null, (Exception)null, (string)null); if (num <= 1351) { if (num <= 980) { if (num != 950 && num != 980) { goto label_27; } } else if (num != 999) { if (num == 1351) { goto label_25; } else { goto label_27; } } SEBClientInfo.IsNewOS = false; return(true); } if (num <= 2000) { if (num != 1400 && num != 2000) { goto label_27; } } else if (num != 2010 && num != 2050) { goto label_27; } label_25: SEBClientInfo.IsNewOS = true; return(true); label_27: return(false); }