首页 > 代码库 > C#中用WMI实现对驱动的查询

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实现对驱动的查询