0

在 OOB 应用程序上工作。

dynamic fileSystem = AutomationFactory.CreateObject("Scripting.FileSystemObject");
dynamic drives = fileSystem.Drives;

foreach (var drive in drives)
{
DriveCollection.Add(new Drive{
                    VolumeName = drive.VolumeName,
                    DriveLetter = drive.DriveLetter,
                    TotalSpace = drive.TotalSize,
                    FreeSpace = drive.FreeSpace
                    });
listBox.Items.Add(string.Format("{0}  {1}", drive.DriveLetter, drive.VolumeName));
}

在调试器中运行时,会枚举“C”驱动器,然后引发异常:

“来自 HRESULT 的异常:0x800A0047”
当我从桌面运行应用程序时,在引发异常之前没有枚举任何驱动器。

有关如何防止此异常的任何提示?在 Drive 构造函数中引用它之前以某种方式检查“驱动器”对象的有效性?

4

0 回答 0