天天看点

[C#应用]得到操作系统名称

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

         得到操作系统名称 #region 得到操作系统名称

[C#应用]得到操作系统名称

        string GetOperatingSystemName()

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

        ...{

[C#应用]得到操作系统名称

            string OSName = null;

[C#应用]得到操作系统名称

            System.OperatingSystem osInfo = System.Environment.OSVersion;

[C#应用]得到操作系统名称

            switch (osInfo.Platform)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

            ...{

[C#应用]得到操作系统名称

                case PlatformID.Unix:

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

                case PlatformID.Win32NT:

[C#应用]得到操作系统名称

                    switch (osInfo.Version.Major)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    ...{

[C#应用]得到操作系统名称

                        case 3:

[C#应用]得到操作系统名称

                            OSName = "Windows NT 3.51";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        case 4:

[C#应用]得到操作系统名称

                            OSName = "Windows NT 4.0";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        case 5:

[C#应用]得到操作系统名称

                            switch (osInfo.Version.Minor)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                            ...{

[C#应用]得到操作系统名称

                                case 0:

[C#应用]得到操作系统名称

                                    OSName = "Windows 2000";

[C#应用]得到操作系统名称

                                    break;

[C#应用]得到操作系统名称

                                case 1:

[C#应用]得到操作系统名称

                                    OSName = "Windows XP";

[C#应用]得到操作系统名称

                                    break;

[C#应用]得到操作系统名称

                                case 2:

[C#应用]得到操作系统名称

                                    OSName = "Windows 2003";

[C#应用]得到操作系统名称

                                    break;

[C#应用]得到操作系统名称

                                default:

[C#应用]得到操作系统名称

                                    break;

[C#应用]得到操作系统名称

                            }

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        case 6:

[C#应用]得到操作系统名称

                            OSName = "Windows Vista";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        default:

[C#应用]得到操作系统名称

                            OSName = "Unknown Win32NT Windows";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                    }

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

                case PlatformID.Win32S:

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

                case PlatformID.Win32Windows:

[C#应用]得到操作系统名称

                    switch (osInfo.Version.Major)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    ...{

[C#应用]得到操作系统名称

                        case 0:

[C#应用]得到操作系统名称

                            OSName = "Windows 95";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        case 10:

[C#应用]得到操作系统名称

                            if (osInfo.Version.Revision.ToString() == "2222A")

[C#应用]得到操作系统名称

                                OSName = "Windows 98 Second Edition";

[C#应用]得到操作系统名称

                            else

[C#应用]得到操作系统名称

                                OSName = "Windows 98";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        case 90:

[C#应用]得到操作系统名称

                            OSName = "Windows ME";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                        default:

[C#应用]得到操作系统名称

                            OSName = "Unknown Win32 Windows";

[C#应用]得到操作系统名称

                            break;

[C#应用]得到操作系统名称

                    }

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

                case PlatformID.WinCE:

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

                default:

[C#应用]得到操作系统名称

                    break;

[C#应用]得到操作系统名称

            }

[C#应用]得到操作系统名称

            if (osInfo.ServicePack != null)

[C#应用]得到操作系统名称

                OSName += " " + osInfo.ServicePack;

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

            return OSName + string.Format(" ({0})", osInfo.VersionString);

[C#应用]得到操作系统名称

        }

[C#应用]得到操作系统名称

        #endregion

[C#应用]得到操作系统名称

另一种方法是使用WMI,代码如下:

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

         得到操作系统信息 #region 得到操作系统信息

[C#应用]得到操作系统名称

        DataTable GetOperatingSystem()

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

        ...{

[C#应用]得到操作系统名称

            DataTable dt = new DataTable();

[C#应用]得到操作系统名称

            dt.Columns.Add("EnglishKey", typeof(string));

[C#应用]得到操作系统名称

            dt.Columns.Add("ChineseKey", typeof(string));

[C#应用]得到操作系统名称

            dt.Columns.Add("Value", typeof(string));

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

            ManagementClass osClass = new ManagementClass("Win32_OperatingSystem");

[C#应用]得到操作系统名称

            foreach (ManagementObject obj in osClass.GetInstances())

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

            ...{

[C#应用]得到操作系统名称

                DataRow drNew = null;

[C#应用]得到操作系统名称

                if (obj["Caption"] != null)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                ...{

[C#应用]得到操作系统名称

                    drNew = dt.NewRow();

[C#应用]得到操作系统名称

                    drNew["EnglishKey"] = "Operating System";

[C#应用]得到操作系统名称

                    drNew["ChineseKey"] = "操作系统";

[C#应用]得到操作系统名称

                    drNew["Value"] = obj["Caption"].ToString();

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    if (obj["OtherTypeDescription"] != null)

[C#应用]得到操作系统名称

                        drNew["Value"] = string.Format("{0} {1}", drNew["Value"].ToString(), obj["OtherTypeDescription"].ToString());

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    if (obj["CSDVersion"] != null)

[C#应用]得到操作系统名称

                        drNew["Value"] = string.Format("{0} {1}", drNew["Value"].ToString(), obj["CSDVersion"].ToString());

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    if (obj["Version"] != null)

[C#应用]得到操作系统名称

                        drNew["Value"] = string.Format("{0} ({1})", drNew["Value"].ToString(), obj["Version"].ToString());

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    dt.Rows.Add(drNew);

[C#应用]得到操作系统名称

                }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                if (obj["WindowsDirectory"] != null)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                ...{

[C#应用]得到操作系统名称

                    drNew = dt.NewRow();

[C#应用]得到操作系统名称

                    drNew["EnglishKey"] = "Windows Directory";

[C#应用]得到操作系统名称

                    drNew["ChineseKey"] = "Windows目录";

[C#应用]得到操作系统名称

                    drNew["Value"] = obj["WindowsDirectory"].ToString();

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    dt.Rows.Add(drNew);

[C#应用]得到操作系统名称

                }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                if (obj["SystemDirectory"] != null)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                ...{

[C#应用]得到操作系统名称

                    drNew = dt.NewRow();

[C#应用]得到操作系统名称

                    drNew["EnglishKey"] = "System Directory";

[C#应用]得到操作系统名称

                    drNew["ChineseKey"] = "系统目录";

[C#应用]得到操作系统名称

                    drNew["Value"] = obj["SystemDirectory"].ToString();

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    dt.Rows.Add(drNew);

[C#应用]得到操作系统名称

                }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                if (obj["LastBootUpTime"] != null)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                ...{

[C#应用]得到操作系统名称

                    drNew = dt.NewRow();

[C#应用]得到操作系统名称

                    drNew["EnglishKey"] = "Last Boot Up Time";

[C#应用]得到操作系统名称

                    drNew["ChineseKey"] = "上次启动日期";

[C#应用]得到操作系统名称

                    drNew["Value"] = FormatNativeDateTimeString(obj["LastBootUpTime"].ToString());

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    dt.Rows.Add(drNew);

[C#应用]得到操作系统名称

                }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                if (obj["TotalVisibleMemorySize"] != null)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                ...{

[C#应用]得到操作系统名称

                    drNew = dt.NewRow();

[C#应用]得到操作系统名称

                    drNew["EnglishKey"] = "Total Visible Memory Size";

[C#应用]得到操作系统名称

                    drNew["ChineseKey"] = "Windows可见内存";

[C#应用]得到操作系统名称

                    drNew["Value"] = string.Format("{0:###,###,###}KB", (ulong)obj["TotalVisibleMemorySize"]);

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

                    dt.Rows.Add(drNew);

[C#应用]得到操作系统名称

                }

[C#应用]得到操作系统名称

            }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

            return dt;

[C#应用]得到操作系统名称

        }

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

        string FormatNativeDateTimeString(string DateTimeString)

[C#应用]得到操作系统名称
[C#应用]得到操作系统名称

        ...{

[C#应用]得到操作系统名称

            return string.Format("{0}-{1}-{2} {3}:{4}:{5}", DateTimeString.Substring(0, 4), DateTimeString.Substring(4, 2), DateTimeString.Substring(6, 2),

[C#应用]得到操作系统名称

                DateTimeString.Substring(8, 2), DateTimeString.Substring(10, 2), DateTimeString.Substring(12, 2));

[C#应用]得到操作系统名称

        }

[C#应用]得到操作系统名称

        #endregion

[C#应用]得到操作系统名称

继续阅读