是这样的:
1. 程序启动前先插入USB,程序能自动检查到设备的插入.
2. 程序启动后再插入USB,程序报错.System.ExecutionEngineException主要代码:
ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");
disks = diskClass.GetInstances();//在这儿报错??

解决方案 »

  1.   

    以下代码可以在程序启动后再插U盘,都能读到:  private void button1_Click(object sender, EventArgs e)
            {
                ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");
                foreach (ManagementObject o in diskClass.GetInstances())
                {
                    foreach (PropertyData pd in o.Properties)
                    {
                        this.treeView1.Nodes.Add(pd.Name+":"+pd.Value);
                    }
                }
            }
      

  2.   

    可能没说清楚,我在前期调试的时候用的是MP3,怎么测试都没问题.
    现在交给测试组测试,他们用的是个1G的USB(几十元的那种),但不知道怎么的启动后再插入就是要报错.
    难道还和USB型号有关,想来想去不应该啊.
    对于程序启动后再插U盘,我是在WndProc拦截消息来检查USB的.
      

  3.   

    to littlegang(Gang) :
    disks = diskClass.GetInstances();//在这儿报错??
    我是单步执行到这儿出的错