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 });//将这两列加入listView1listView1.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);}}
}
}
仅仅实现了查询的功能,后续有待加入与设备管理器类似的管理功能!