Comprobar si la unidad es función de la API de Windows grabables [cerrada]
Pregunta
Hola ¿hay alguna función de Windows API que volvería si la unidad se puede escribir. Veces, la unidad es visible bajo unidades, pero cuando se trata de escribir programaticly a ella, le da un error de cuadro msg wich congela la aplicación hasta que el usuario pulsa el botón Aceptar. ¿Hay alguna construido en función de que se compruebe si la unidad se puede escribir sin el cuadro de error molestos?
He intentado ya trycopy y devuelve el mismo error MsgBox: (
Gracias!
Solución
Trate de llamar SetErrorMode( SEM_FAILCRITICALERRORS)
para evitar los cuadros de mensajes de error de aparecer.
http://msdn.microsoft.com/ en-us / library / ms680621 (VS.85) .aspx
Otros consejos
Se puede configurar una referencia a Microsoft Scripting Runtime.
A continuación, se puede utilizar un código como:
Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive
Set clsDrive=FSO.GetDrive("C")
La clase Drive tiene una propiedad FreeSpace, que será igual a cero si la unidad no se puede escribir.
Además hay una clase Scripting.Folder que puede het utilizando FSO.GetFolder () que tiene una Atributos de propiedad, que consta de banderas de tipo FileAttribute. Puede usar un código como
clsFolder.Attributes And FileAttribute.Readonly
para comprobar si hay err ... ReadOnlyness; -)
GetVolumeInformation () y verificación FILE_READ_ONLY_VOLUME
en el parámetro banderas devuelto.