Überprüfen Sie, ob Laufwerk beschreibbar Windows-API-Funktion [geschlossen]
Frage
Hallo gibt es eine Windows-API-Funktion, die zurückkommen würde, wenn Laufwerk beschreibbar ist. Manchmal ist Laufwerk sichtbar unter Laufwerken, aber wenn zu programaticly schreiben, um es versucht, es gibt Ihnen einen msg Box Fehler Weichen die Anwendung friert, bis der Benutzer drückt die Taste ok. Gibt es eine eingebaute Funktion, die würde überprüfen, ob das Laufwerk ohne das lästige Errorbox beschreibbar ist?
habe ich versucht trycopy bereits und gibt den gleichen msgbox Fehler: (
Danke!
Lösung
Versuchen SetErrorMode( SEM_FAILCRITICALERRORS)
Aufruf der Fehler Message um zu verhindern, Aufspringen.
http://msdn.microsoft.com/ en-us / library / ms680621 (VS.85) aspx
Andere Tipps
Sie können einen Verweis auf Microsoft Scripting Runtime gesetzt.
Sie können dann Code verwenden wie:
Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive
Set clsDrive=FSO.GetDrive("C")
The Drive-Klasse hat eine Freespace Eigenschaft, die Null sein wird, wenn der Antrieb nicht beschreibbar ist.
Darüber hinaus gibt es eine Scripting.Folder Klasse, die Sie mit FSO.GetFolder het kann (), die eine Eigenschaft Attribute hat, die von Fahnen vom Typ Fileattribute besteht. Sie können wie Code verwenden
clsFolder.Attributes And FileAttribute.Readonly
für err zu prüfen ... ReadOnlyness; -)
Anruf GetVolumeInformation () und Check FILE_READ_ONLY_VOLUME
in dem zurückgegebenen Parameter flags.