一、需求:Pad上显示某功能块,PC机上隐藏。
二、方法:从外围设备获取值判断是否是Pad。
三、具体参考代码如下:
1、外围设备值类型如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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 }
2、获取外围设备值,并判断类型值
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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; }
四、参考
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;