主板没挂软驱,Directory.GetLogicalDrives还会得到A盘符

大狗狗 2010-11-13 07:52:06
环境:VS2005 C# WinForm

我特意拆开机箱看了下,主板上确实没挂软驱(前年装的机子)。但不论是Directory.GetLogicalDrives还是DriveInfo.GetDrives,结果中都会包括A盘。问题在于,我后面还有查询磁盘信息的代码(导入GetVolumeInformation),可能由于这个A盘在物理上并不存在,导致查询时间会比较长,持续5秒左右。严重影响了程序性能。

我想先用DriveInfo.IsReady判断磁盘是否存在然后执行查询--唉,这IsReady它也要调用底层的查询函数,一样卡。

请问我怎么样可以快速判断系统是否真正挂接了软盘驱动器?如果没挂,我就不查询"A:\\"了,免得卡。
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大狗狗 2010-11-15
  • 打赏
  • 举报
回复
再up一下
大狗狗 2010-11-13
  • 打赏
  • 举报
回复
再up up
大狗狗 2010-11-13
  • 打赏
  • 举报
回复
1楼朋友,我现在用VS2005 还没有System.Management命名空间
2楼朋友, 我没法设置用户的bios或者要求用户使用软件前先设置bios
threenewbee 2010-11-13
  • 打赏
  • 举报
回复
BIOS里面设置,把软驱设置为NONE。
winner2050 2010-11-13
  • 打赏
  • 举报
回复
using System.Management;

ManagementClass mc = new ManagementClass("Win32_FloppyDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
调试一下看看,要哪个属性能读取
}

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧