using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Management;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WMI_驱动
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
//SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");//硬盘盘符
SelectQuery selectQuery = new SelectQuery("select * from Win32_DiskDrive");//硬盘序列号 ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{
ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
listView1.Items.Add(lvi);
}
} private void button2_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_SystemDriver");//驱动程序
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
listView1.Items.Add(lvi);
}
} private void button3_Click(object sender, EventArgs e)
{ listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_USBController");//USB控制器
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
//ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(),"" },-1);
listView1.Items.Add(lvi);
} SelectQuery selectQuery2 = new SelectQuery("select * from Win32_USBHub");//USB集线器
ManagementObjectSearcher search2 = new ManagementObjectSearcher(selectQuery2);
foreach (ManagementObject Driver in search2.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
//ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(),"" },-1);
listView1.Items.Add(lvi);
} } private void Form1_Load(object sender, EventArgs e)
{
listView1.Columns.Clear();//清空列记录
ColumnHeader cZh = new ColumnHeader();//创建一个列
cZh.Text = "名称";//列名
cZh.Width = 300;
ColumnHeader cCh = new ColumnHeader();
cCh.Text = "描述";
cCh.Width = 600;
listView1.Columns.AddRange(new ColumnHeader[] { cZh, cCh });//将这两列加入listView1
listView1.View = View.Details;//列的显示模式
} private void button4_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_Printer ");//打印机
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(),"" }, -1);
listView1.Items.Add(lvi);
} } private void button5_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_PrinterConfiguration ");//打印机设置
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), "" }, -1);
listView1.Items.Add(lvi);
}
} private void button6_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_PrintJob ");//打印机任务
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), "" }, -1);
listView1.Items.Add(lvi);
}
} private void button7_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_TCPIPPrinterPort ");//打印机端口
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), "" }, -1);
listView1.Items.Add(lvi);
}
} private void button8_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_PointingDevice ");//点输入设备,鼠标
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
listView1.Items.Add(lvi);
}
} private void button9_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_Keyboard");//键盘
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), Driver["Description"].ToString() }, -1);
listView1.Items.Add(lvi);
}
} private void button10_Click(object sender, EventArgs e)
{
listView1.Items.Clear(); SelectQuery selectQuery = new SelectQuery("select * from Win32_Printer ");//打印机
ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject Driver in search.Get())
{ ListViewItem lvi = new ListViewItem(new string[] { Driver["Name"].ToString(), "" }, -1);
listView1.Items.Add(lvi);
}
}
  }
}

仅仅实现了查询的功能,后续有待加入与设备管理器类似的管理功能!

C#中用WMI实现对驱动的查询的更多相关文章

  1. WMI技术介绍和应用——查询硬件信息

    //查询得到系统盘所在硬盘的ID SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE //如何使用WMI查询系统盘所在硬盘的 ...

  2. MongoDB官方C#驱动中查询条件Query用法

    Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("nam ...

  3. Linux驱动之按键驱动编写(查询方式)

    在Linux驱动之LED驱动编写已经详细介绍了一个驱动的编写过程,接着来写一个按键驱动程序,主要是在file_operations结构中添加了一个read函数.还是分以下几步说明 1.查看原理图,确定 ...

  4. oracle中用rownum分页并排序的查询SQL语句

    oracle的sql语句中没有limit,limit是mysql中特有的,在oracle中可用rownum来表示,用于查询结果中的前N行数据. 如要查询emp表中的前5行数据,可用如下语句: sele ...

  5. 解决用 VB 中用 ADO 访问 数据库时 SQL 查询处理 Null 值的问题( 使用 iff(isNull(字段), 为空时的值,不为空时的值) 来处理)

    程序的环境是 VB6 + ADO + Access,在用 SQL 语句查询时,希望把两个字段合并成一个字段,但其中一个字段 Null 值直接导致两个字段合并后也变成了 Null 值.之前只能用 VB ...

  6. HBase多条件及分页查询的一些方法

    HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式 ...

  7. C#操作WMI指南

    WMI应用(一个系统自带的测试WMI语句的工具) 1. 开始-运行-输入:wbemtest 回车2. 单击"连接", 输入:root\cimv2 回车; 或者ROOT\Securi ...

  8. MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动

    回到目录 上一讲说了MongoDB官方驱动的查询功能,这回说一下官方驱动的增删改功能,驱动在升级为2.0后,相应的insert,update和delete都只有了异步版本(或者叫并行版本),这当然也是 ...

  9. 使用Python玩转WMI

    最近在网上搜索Python和WMI相关资料时,发现大部分文章都千篇一律,并且基本上只说了很基础的使用,并未深入说明如何使用WMI.本文打算更进一步,让我们使用Python玩转WMI. 1 什么是WMI ...

随机推荐

  1. VCL的通用属性,方法和事件 good

    Action 一些组件标识与组件相连接的活动对象Align 一些组件确定组件在父类组件区内的对齐方式Anchors 大部分组件说明与组件连接的窗体的位置点AutoSize 一些组件说明组件是否可根据内 ...

  2. Q_DECLARE_METATYPE(继承QObject的类都已经自动注册),注册后的类型可以作为QVariant的自定义类型

    简介 这个宏用来注册一个类(含默认构造.默认析构.拷贝构造函数)为QMetaType类型 ,注册后的类型可以作为QVariant的自定义类型. 这个宏应该放在类或者结构体外面的下面,也可以放在一个非公 ...

  3. 可以用GetObjectProp来获取对象的属性

    原来可以用GetObjectProp来获取对象的属性,还有这用法,哈哈哈哈…… var SL: TStrings; UseDBTools: Boolean;begin SL := nil; if Me ...

  4. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  5. 2019年5月23日 AY 程序员调侃语录

    我是AY,杨洋,做wpf开发的,最近得了一种病,程序员患得患失综合征.同事说,我年纪在变大,技术跟不上.业余之间,我原创了写了一些语录,给大家中午休息,累疲惫的时候,开心放松下. 1.有很多公司找我谈 ...

  6. ios开发系列之内存泄漏分析(下)

    接上篇,本篇主要讲解通知和 KVO 不移除观察者.block 循环引用 .NSThread 和 RunLoop一起使用造成的内存泄漏. 1.通知造成的内存泄漏 1.1.ios9 以后,一般的通知,都不 ...

  7. OpenStack 通过某类可用域查找相应虚拟机使用的flavor模板

    nova availability-zone-list:列出集群的所有可用域 截取部分结果: 通过可用域上的宿主机找相应的虚拟机 查看命令 通过 nova list  --all-tenant --h ...

  8. mk、cd、pwd、ls、touch、vi、cat、cp、mv的使用及命令快捷方式

    1 命令提示符 1.1 [ root @ oldboyedu62  ~  ] 1 2 3     4 1:登陆系统的用户身份 2:命令分割符合 3:主机名称信息 4:显示当前所在目录路径 1.2 系统 ...

  9. spring cloud 系列第6篇 —— zuul 服务网关 (F版本)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.zuul简介 1.1 API 网关 api 网关是整个微服务系统的门面 ...

  10. 【jar包管理】Maven BOM

    BOM Alibaba Spring Boot Dependencies is a Maven BOM used to manage the versions of most used Alibaba ...