解决方案 »

  1.   

    手机相机一般也识别为Removable 1
    打印机根本不会被视作"driver",也不会有盘符,哪里来的类型
      

  2.   

    你根本用GetDrivers都取不到,你得用wmi去取。
      

  3.   

    using System;
    using System.IO;
    using System.Management;
    using System.Windows.Forms;
    namespace 界面
    {
        public partial class Form4 : Form
        {
            public Form4()
            {
                InitializeComponent();
            }        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {        }        private void Form4_Load(object sender, EventArgs e)
            {
                SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");
                ManagementObjectSearcher search = new ManagementObjectSearcher(selectQuery);
                foreach(ManagementObject disk in search.Get())
                {
                    comboBox1.Items.Add(disk["Name"].ToString());            }        }        private void btnCheck_Click(object sender, EventArgs e)
            {
                string DriveType;
                DriveInfo dinfo = new DriveInfo(comboBox1.Text);
                try
                {
                    DriveType = dinfo.DriveType.ToString();
                    switch (DriveType)
                    {
                        case "Unknown":
                            label2.Text = "未知设备";
                            break;
                        case "NoRootDirectory":
                            label2.Text = "这是未分区";
                            break;
                        case "Removable":
                            label2.Text = "这是可移动磁盘";
                            break;
                        case "Fixed":
                            label2.Text = "这是硬盘";
                            break;
                        case "Network":
                            label2.Text = "这是网络驱动器";
                            break;
                        case "CDRom":
                            label2.Text = "这是光驱";
                            break;                }            }
                catch {
                    label2.Text = "未知类型";
                }        }     
        }
    }
      

  4.   

    SelectQuery进行WMI查询,是不是Select里面查的是所有驱动器的盘符,应该怎么改才能查到打印机的驱动
      

  5.   

    http://msdn.microsoft.com/zh-cn/library/system.io.driveinfo.drivetype.aspx 看看MSDN的
      

  6.   

    driveinfo这个类不行,那哪个类能识别出打印机之类的设备呢
      

  7.   

    1.windos API
    2.WMI
    比如:
    stringwmiSQL ="SELECT * FROM Win32_Printer";
    ManagementObjectCollectionprinters =newManagementObjectSearcher(wmiSQL).Get();driveinfo和
    printer不同