兔八哥极品软件园    运行: 4522天 | 文章:640 篇 | 评论:615 条 | 碎语:1条

C# 判断计算机是台式机还是笔记本

作者:admin 发布于:2012-8-14 8:18 Tuesday 分类:.NET


一个简单的方法是通过 WMI 查询系统信息 Win32_SystemEnclosure 类,ChassisTypes指示计算机类型

有 22 种已知类型,多数我们平时见不到,最常见的当然是Desptop(3)和Laptop(9)(较老型号),Notebook(10)。

using System.Management;

public enum ChassisTypes
{
    Other = 1,
    Unknown,
    Desktop,
    LowProfileDesktop,
    PizzaBox,
    MiniTower,
    Tower,
    Portable,
    Laptop,
    Notebook,
    Handheld,
    DockingStation,
    AllInOne,
    SubNotebook,
    SpaceSaving,
    LunchBox,
    MainSystemChassis,
    ExpansionChassis,
    SubChassis,
    BusExpansionChassis,
    PeripheralChassis,
    StorageChassis,
    RackMountChassis,
    SealedCasePC
}

public static ChassisTypes GetCurrentChassisType()
{
    ManagementClass systemEnclosures = new ManagementClass("Win32_SystemEnclosure");
    foreach (ManagementObject obj in systemEnclosures.GetInstances())
    {
        foreach (int i in (UInt16[])(obj["ChassisTypes"]))
        {
            if (i > 0 && i < 25)
            {
                return (ChassisTypes)i;
            }
        }
    }
    return ChassisTypes.Unknown;
}

标签: Win32_SystemEnclosure


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap