C#中用WMI实现对驱动的查询
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实现对驱动的查询的更多相关文章
- WMI技术介绍和应用——查询硬件信息
//查询得到系统盘所在硬盘的ID SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE //如何使用WMI查询系统盘所在硬盘的 ...
- MongoDB官方C#驱动中查询条件Query用法
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("nam ...
- Linux驱动之按键驱动编写(查询方式)
在Linux驱动之LED驱动编写已经详细介绍了一个驱动的编写过程,接着来写一个按键驱动程序,主要是在file_operations结构中添加了一个read函数.还是分以下几步说明 1.查看原理图,确定 ...
- oracle中用rownum分页并排序的查询SQL语句
oracle的sql语句中没有limit,limit是mysql中特有的,在oracle中可用rownum来表示,用于查询结果中的前N行数据. 如要查询emp表中的前5行数据,可用如下语句: sele ...
- 解决用 VB 中用 ADO 访问 数据库时 SQL 查询处理 Null 值的问题( 使用 iff(isNull(字段), 为空时的值,不为空时的值) 来处理)
程序的环境是 VB6 + ADO + Access,在用 SQL 语句查询时,希望把两个字段合并成一个字段,但其中一个字段 Null 值直接导致两个字段合并后也变成了 Null 值.之前只能用 VB ...
- HBase多条件及分页查询的一些方法
HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式 ...
- C#操作WMI指南
WMI应用(一个系统自带的测试WMI语句的工具) 1. 开始-运行-输入:wbemtest 回车2. 单击"连接", 输入:root\cimv2 回车; 或者ROOT\Securi ...
- MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动
回到目录 上一讲说了MongoDB官方驱动的查询功能,这回说一下官方驱动的增删改功能,驱动在升级为2.0后,相应的insert,update和delete都只有了异步版本(或者叫并行版本),这当然也是 ...
- 使用Python玩转WMI
最近在网上搜索Python和WMI相关资料时,发现大部分文章都千篇一律,并且基本上只说了很基础的使用,并未深入说明如何使用WMI.本文打算更进一步,让我们使用Python玩转WMI. 1 什么是WMI ...
随机推荐
- ExtJS 折线图趟过的坑
问题: 1.根据条件检索后绘制折线图,之前的坐标没有清除如图 解决方案: 在绘制之前,清空坐票: leftLine.surface.removeAll(); leftLine.redraw(false ...
- Wiki上的C++哲学
Philosophy[edit] Throughout C++'s life, its development and evolution has been informally governed b ...
- Codility------CyclicRotation
Task description A zero-indexed array A consisting of N integers is given. Rotation of the array mea ...
- 基于Node.js的web聊天系统 - 真正意义上的web实时聊天系统
简单介绍一下这个实时web聊天系统的功能,首先进入系统的人填入名字和邮件地址后会获取到一个由系统创建的URL地址,你可以把这个地址发给另外一个人,另外一个人进入系统后就可以和你进行实时的聊天对话咯.主 ...
- python中的内置函数(bytearray)
返回一个新的字节数组.bytearray类是range 0 < = x < 256的一个可变序列.它有大多数可变序列的常用方法,在可变序列类型中描述,以及大多数字节类型的方法,参见字节和B ...
- Qemu搭建ARM vexpress开发环境(三)----NFS网络根文件系统
Qemu搭建ARM vexpress开发环境(三)----NFS网络根文件系统 标签(空格分隔): Qemu ARM Linux 经过上一篇<Qemu搭建ARM vexpress开发环境(二)- ...
- 【设计模式】行为型03观察者模式(Observer Pattern)
记得16年初第一次学习了23种设计模式,但是除了少数几个简单的外,其他的很多都是学了个似懂非懂,以至于有人问起甚至说不上来,现在想想,其实就是没看懂而已.例如观察者模式,其实原理很简单,但是当时并没有 ...
- 阿里云ssl证书NGINX配置https,wss
server { listen 443; server_name server.sentiger.com; ssl on; root /home/wwwroot/Service/beta/public ...
- Spring 之Aop实现日志记录
Aop实现见代码,简单demo实现 package com.idcos.automate.config; import com.idcos.automate.dal.auto.dao.dcos.Dco ...
- MySQL优化(一)
MySQL数据库优化一之引索详解 对于网站优化最注重的就是数据库的优化,而在数据库优化中首先考虑到的应该是数据库索引是否建立于是否建立的正确. 1.对于刚刚接触数据库的程序员,对于引索不是很理解.下面 ...