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

C#:判断软件运行的环境是否是Pad(PC)的更多相关文章

  1. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  2. 在Linux安装ASP.NET Core运行时环境

    我使用的是Centos7 ,其它的Linux请参考微软文档   微软官方介绍文档:                                https://www.microsoft.com/n ...

  3. Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

    Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...

  4. 运行时环境(The Runtime Environment)

    App Engine应用响应网络请求.当一个客户端(典型的是用户的Web浏览器)使用HTTP请求(比如获取在URL上的网页)连接上应用的时候,网络请求就开始了.当App Engine接收到请求时,它会 ...

  5. Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8201936 在前文中,我们简要介绍了Andro ...

  6. Java运行时环境---内存划分

    背景:听说Java运行时环境的内存划分是挺进BAT的必经之路. 内存划分: Java程序内存的划分是交由JVM执行的,而不像C语言那样需要程序员自己买单(C语言需要程序员为每一个new操作去配对del ...

  7. Apache Flink 分布式运行时环境

    Tasks and Operator Chains(任务及操作链) 在分布式环境下,Flink将操作的子任务链在一起组成一个任务,每一个任务在一个线程中执行.将操作链在一起是一个不错的优化:它减少了线 ...

  8. lua 设置文件运行的环境

    背景 在一个lua文件中书写的代码, 使用的变量, 需要设置其运行环境. 目的: 1. 不破坏全局环境. 2. 限定文件所使用的环境, 作为沙箱功能. 解法 限定运行空间环境的文件: local m ...

  9. Win10如何禁止软件运行?win10禁止软件启动的设置方法!禁止人生日历热点快讯的方法

    相信不少使用Win10系统的用户遇到过下载了一款软件进行安装后后续会有接连不断的程序安装到电脑中.他可能似乎一个大家常用的程序,在我们安装好运行的时候会通过后台偷偷下载其他应用安装到我们电脑中,导致系 ...

随机推荐

  1. java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.

    出错原因 该问题会在Centos6.6及更高版本出现.也会在其他版本中出现. 解决方案 禁用carioGraphics > Add -Dorg.eclipse.swt.internal.gtk. ...

  2. sbt assembly build.sbt content

    // import sbt._ // import sbt.Keys._ // import java.io.File // import AssemblyKeys._ name := "n ...

  3. 解决JQuery EasyUI onLoadSuccess执行两次的问题

    今天使用EasyUI的datagrid时发现首次打开页面时onLoadSuccess方法执行了两次.后来发现主要问题是datagrid被初始化了两次.主要原因是一开始html中声明了dg为easyui ...

  4. RDS MySQL 连接数满情况的处理

    RDS MySQL 连接数满情况的处理 RDS MySQL 连接数满有2种情况 1. 空闲连接过多 原因: 应用使用长连接模式 - 对于长连接模式(比如Java应用),应用侧应该配置连接池.连接池的初 ...

  5. LoadRunner11.00入门教程

    安装成功后,根据教程,有自带的应用程序供新手快速掌握Loadrunner的使用.测试应用是一个基于web的旅行社应用程序,也就是供用户在线预订机票的应用.根据教程和操作,重新总结一下测试流程以及遇到的 ...

  6. ext3grep 模拟恢复删除文件

    一,下载ext3grep-0.10.1.tar.gz 点此下载 二,安装 #tar zxvf ext3grep-0.10.1.tar.gz #cd ext3grep-0.10.1 #./configu ...

  7. 程序中的@Override是什么意思

    @Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记 @Override是伪代码,表示重写( ...

  8. Java 隐藏和覆盖

    我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊 ...

  9. 【转】Unity中的协同程序-使用Promise进行封装(三)

    原文:http://gad.qq.com/program/translateview/7170967 译者:崔国军(飞扬971)    审校:王磊(未来的未来) 在这个系列的最后一部分文章,我们要通过 ...

  10. Android如何连接MySQL数据库

    Android开发中,大多数连接到远程MySQL数据库的方法是加入特定的Service到代码中.由于MySQL通常是和PHP一起使用的,最简单以及最常见的方法是写PHP脚本管理数据连接,以及从Andr ...