OSInfoTool.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //************************************************************************
  2. // author: yuzhengyang
  3. // date: 2018.3.27 - 2018.6.3
  4. // desc: 工具描述
  5. // Copyright (c) yuzhengyang. All rights reserved.
  6. //************************************************************************
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. namespace Azylee.Core.WindowsUtils.InfoUtils
  12. {
  13. public static class OSInfoTool
  14. {
  15. public static OSName Caption()
  16. {
  17. try
  18. {
  19. OperatingSystem os = Environment.OSVersion;
  20. switch (os.Platform)
  21. {
  22. case PlatformID.Win32Windows:
  23. switch (os.Version.Minor)
  24. {
  25. case 0: return OSName.Windows95;
  26. case 10: return OSName.Windows98;
  27. case 90: return OSName.WindowsMe;
  28. }
  29. break;
  30. case PlatformID.Win32NT:
  31. switch (os.Version.Major)
  32. {
  33. case 3: return OSName.WindowsNT351;
  34. case 4: return OSName.WindowsNT40;
  35. case 5:
  36. switch (os.Version.Minor)
  37. {
  38. case 0: return OSName.Windows2000;
  39. case 1: return OSName.WindowsXP;
  40. case 2: return OSName.Windows2003;
  41. }
  42. break;
  43. case 6:
  44. switch (os.Version.Minor)
  45. {
  46. case 0: return OSName.Windows2008;
  47. case 1: return OSName.Windows7;
  48. case 2: return OSName.Windows10;
  49. }
  50. break;
  51. }
  52. break;
  53. }
  54. }
  55. catch { }
  56. return OSName.Unknown;
  57. }
  58. }
  59. }