谢谢!

解决方案 »

  1.   

    你可以先调用使用API函数GetLogicalDrives,它可以告诉你哪个逻辑盘符存在,例如位0表示A盘。然后使用GetDriveType函数对每个盘进行检查,看看是什么类型,可以知道它是软驱、硬盘、CDROM、网络驱动器。具体的过程可以参考Source\VCL\filectrl.pas中的TDriveComboBox.BuildList。TDriveComboBox就是使用这个办法的,它没有使用标准的CB_DIR消息。 
      

  2.   

    for c := 'A' to 'Z' do
      if GetDriveType(c + ':\') = DRIVE_NO_ROOT_DIR then
      // 不是一个盘符