Ermittelt, ob ein Datenträger beschreibbar ist
#include <WinAPIFiles.au3>
_WinAPI_IsWritable ( $sDrive )
$sDrive | Der Laufwerksbuchstabe des zu prüfenden Datenträgers, im Format D:, E:, usw.. |
Erfolg: | True - Die Platte ist beschreibbar. False - Ansonsten. |
Fehler: | setzt das @error Flag auf ungleich null, das @extended Flag wird auf den letzten Systemfehlercode gesetzt. |
Der letzte Fehlercode = 41 bedeutet, dass das Gerät nicht bereit ist, kein Medium gemounted.
Suche nach IOCTL_DISK_IS_WRITABLE in der MSDN Bibliothek.
#include <WinAPIError.au3>
#include <WinAPIFiles.au3>
Local $aDrive = DriveGetDrive('ALL')
If IsArray($aDrive) Then
Local $sText
For $i = 1 To $aDrive[0]
If _WinAPI_IsWritable($aDrive[$i]) Then
$sText = 'schreibbar'
Else
If @error Then
$sText = 'Kein Medium'
If @extended Then $sText &= ' ( @error=' & @error & ' LastError=' & _WinAPI_GetLastErrorMessage() & ')'
Else
$sText = 'Nicht schreibbar'
EndIf
EndIf
ConsoleWrite(StringUpper($aDrive[$i]) & ' => ' & $sText & @CRLF)
Next
EndIf