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

mac2022-06-30  23

一、需求: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;

     

转载于:https://www.cnblogs.com/shenchao/p/5577439.html

最新回复(0)