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. 实现dropdownList 无刷新

    <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptMana ...

  2. Python:Numpy学习

    import numpy as np # 基础属性 array = np.array([[[1,2,3], [0,0,1]], [[1,2,3], [0,0,1]]], dtype = np.int6 ...

  3. QtScript, QML, Quick1, Quick2, Declarative 之间的关系

    QtScript是基于 ECMAScript 的脚本语言 在脚本中可以访问原有C++代码中的QObject类型及其子类的实例,连接信号和槽:也可以创建QObject类型及其子类的实例. 但是QtScr ...

  4. Codility----PermMissingElem

    Task description A zero-indexed array A consisting of N different integers is given. The array conta ...

  5. Linux虚拟机没有IP的解决办法

    这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用 ...

  6. ORACLE(系统表student) 基本与深入学习

    (一).首先我们先创建student表(系统有的可以跳过往下看)没有直接复制运行即可. create table student(sno varchar2(3) not null, --学号sname ...

  7. SecureCRT的安装以及破破解(内含安装包)

    1.百度网盘连接:链接:https://pan.baidu.com/s/13i8sblGthYtj2SbUTrbmsg  提取码:8cw1 2.解压前先关闭电脑防护软件,否则会杀掉破解软件的 3.压缩 ...

  8. scikit-learn杂记

    1.数据预处理 二值化 import numpy as np from sklearn import preprocessing X = np.array([[1., -1., 2.], [2., 0 ...

  9. angular2最详细的开发环境搭建过程

    本文所需要的源代码,从 http://files.cnblogs.com/files/lingzhihua/angular2-quickstart.rar 下载 angular官方推荐使用quicks ...

  10. 【数据结构】红黑树-Java实现

    WIKI:https://en.wikipedia.org/wiki/Red%E2%80%93black_tree 转:红黑树(五)之 Java的实现 总结的比较精炼的: http://www.cnb ...