C#:判断软件运行的环境是否是Pad(PC)

一、需求:Pad上显示某功能块,PC机上隐藏。

二、方法:从外围设备获取值判断是否是Pad。

三、具体参考代码如下:

1、外围设备值类型如下:

    public enum ChassisTypes
    {
        Other = 1,
        Unknown,
        Desktop,                //台式机
        LowProfileDesktop,      //低调型台式机
        PizzaBox,               //Pizza盒
        MiniTower,              //迷你型机箱
        Tower,                  //机箱
        Portable,               //手提式打字机、便携式、可移植
        Laptop,                 //膝上型轻便电脑、笔记本电脑
        Notebook,               //笔记本
        Handheld,               //掌上型、手持型
        DockingStation,         //扩展插口
        AllInOne,               //一体化
        SubNotebook,            //小型笔记本电脑
        SpaceSaving,            //节省空间
        LunchBox,               //饭盒
        MainSystemChassis,      //主系统机架
        ExpansionChassis,       //智能插槽扩展器
        SubChassis,             //副底盘
        BusExpansionChassis,    //总线扩展架
        PeripheralChassis,      //外围底盘
        StorageChassis,         //存储底盘
        RackMountChassis,       //架装安装底盘
        SealedCasePC            //封闭式 PC
    }
View Code

2、获取外围设备值,并判断类型值

 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;
        }
View Code

四、参考

  1、https://msdn.microsoft.com/en-us/library/Aa394474

 

注:

  1、测试结果:笔记本是Notebook类型(Win7)\LapTop(Win10),Pad是HandHeld类型\Notebook(Win8),台式电脑是Space-Saving类型。(测试结果是真实的,但存在疑问)

  

  2、需要引用System.Management及添加using System.Management;

     

posted @ 2016-06-12 14:30  慧由心生  阅读(1087)  评论(0编辑  收藏  举报