0

您好,如果驱动器可写,是否有任何 Windows API 函数会返回。有时驱动器在驱动器下可见,但是当尝试以编程方式写入它时,它会给您一个消息框错误,该错误会冻结应用程序,直到用户按下确定按钮。是否有任何内置功能可以检查驱动器是否可写而没有烦人的错误框?

我已经尝试过 trycopy 并返回相同的 msgbox 错误:(

谢谢!

4

3 回答 3

2

尝试调用SetErrorMode( SEM_FAILCRITICALERRORS)以防止弹出错误消息框。

http://msdn.microsoft.com/en-us/library/ms680621(VS.85).aspx

于 2010-09-05T16:00:00.667 回答
1

您可以设置对 Microsoft 脚本运行时的引用。

然后,您可以使用如下代码:

Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive

Set clsDrive=FSO.GetDrive("C")

Drive 类有一个 FreeSpace 属性,如果驱动器不可写,则该属性为零。

此外,还有一个 Scripting.Folder 类,您可以使用具有 Attributes 属性的 FSO.GetFolder() 来处理该类,该属性由 FileAttribute 类型的标志组成。您可以使用类似的代码

clsFolder.Attributes And FileAttribute.Readonly检查错误... ReadOnlyness ;-)

于 2010-09-05T17:16:11.013 回答
0

调用GetVolumeInformation()并检查FILE_READ_ONLY_VOLUME返回的标志参数。

于 2014-03-05T08:59:29.050 回答