Hello是否存在任何Windows API函数,如果驱动器可写,则会返回该函数。有时驱动器在驱动器下可见,但是当尝试以编程方式写入驱动器时,它会给出一个msg框错误,它会冻结应用程序,直到用户按下确定按钮。是否有内置函数可以检查驱动器是否可写而没有恼人的错误框?
我已尝试过trycopy并返回相同的msgbox错误:(
谢谢!
答案 0 :(得分:2)
尝试调用SetErrorMode( SEM_FAILCRITICALERRORS)
以防止错误消息框弹出。
http://msdn.microsoft.com/en-us/library/ms680621(VS.85).aspx
答案 1 :(得分:1)
您可以设置对Microsoft Scripting Runtime的引用。
然后您可以使用以下代码:
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; - )
答案 2 :(得分:0)
调用GetVolumeInformation()并在返回的flags参数中检查FILE_READ_ONLY_VOLUME
。