Domanda

Ciao v'è alcuna funzione Windows API che sarebbe tornato se l'unità è scrivibile. Alcuni casi l'unità è visibile sotto le unità, ma quando si cerca di scrivere programaticly ad esso, ti dà un errore di scatola msg wich congela l'applicazione fino a quando l'utente preme il tasto OK. C'è un costruito in funzione che controlla se l'unità è scrivibile senza la finestra di errore fastidioso?

ho provato trycopy già e restituisce lo stesso errore msgbox: (

Grazie!

È stato utile?

Soluzione

Prova a chiamare SetErrorMode( SEM_FAILCRITICALERRORS) per evitare che i messageboxes errore da popping up.

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

Altri suggerimenti

È possibile impostare un riferimento a Microsoft Scripting Runtime.

È quindi possibile utilizzare il codice:

Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive

Set clsDrive=FSO.GetDrive("C")

La classe di unità ha una proprietà FreeSpace, che sarà pari a zero se l'unità non è scrivibile.

Inoltre v'è una classe Scripting.Folder che si può het utilizzando FSO.GetFolder () che ha un Attributi proprietà, che si compone di bandiere di tipo FileAttribute. È possibile utilizzare il codice come

clsFolder.Attributes And FileAttribute.Readonly per verificare err ... ReadOnlyness; -)

GetVolumeInformation () e controllo FILE_READ_ONLY_VOLUME nel parametro flags restituito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top