您好,如果驱动器可写,是否有任何 Windows API 函数会返回。有时驱动器在驱动器下可见,但是当尝试以编程方式写入它时,它会给您一个消息框错误,该错误会冻结应用程序,直到用户按下确定按钮。是否有任何内置功能可以检查驱动器是否可写而没有烦人的错误框?
我已经尝试过 trycopy 并返回相同的 msgbox 错误:(
谢谢!
尝试调用SetErrorMode( SEM_FAILCRITICALERRORS)
以防止弹出错误消息框。
http://msdn.microsoft.com/en-us/library/ms680621(VS.85).aspx
您可以设置对 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 ;-)
调用GetVolumeInformation()并检查FILE_READ_ONLY_VOLUME
返回的标志参数。