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

时间:2021-10-27 10:48:52

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

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

三、具体参考代码如下:

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

    public enum ChassisTypes
{
Other = ,
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、获取外围设备值,并判断类型值

 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 > && i < )
{
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;