• 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);
                }
            }
      }
    }

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

  • 相关阅读:
    Springboot Endpoint之二:Endpoint源码剖析
    Linux进程被杀掉(OOM killer),查看系统日志
    docker常用命令详解
    micrometer自定义metrics
    使有prometheus监控redis,mongodb,nginx,mysql,jmx
    Grafana+Prometheus打造springboot监控平台
    Grafana介绍
    Prometheus介绍
    Groovy与Java集成常见的坑
    ES之1:基本概念及原理
  • 原文地址:https://www.cnblogs.com/lossingdawn/p/4123509.html
Copyright © 2020-2023  润新知