//用wmi查软盘卷标,如果卷标正确就说明有盘
//首先添加对System.Management的引用
//再使用System.Management命名空间
using System.Management;
....      ManagementObjectSearcher searcher = new 
      ManagementObjectSearcher("SELECT * From Win32_LogicalDisk ");      ManagementObjectCollection myResult = searcher.Get();
      string mySn="";
      foreach ( ManagementObject share in myResult)
      {
        if (share["DriveType"].ToString()=="2")//软驱的代码我记不清了,好像是2,你试一下。我只清晰的记得硬盘的代码是3。
        {
          mySn=share["Volume"].ToString();//卷标好像叫Volume吧。
          break;
        }
      }//然后你看看mySn是不是有值就知道有没有盘了。
//代码没有测试,我现在上网的这台机器没有.net。你自己试一下吧。---我是新手---请大家指教---