Rubrik: Dateisystem | 13.07.01 |
GetFileAttributes-Funktion Diese Funktion ermittelt die Dateiattribute einer Datei/eines Ordners. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 15.879 |
Deklaration:
Declare Function GetFileAttributes Lib "kernel32.dll" _ Alias "GetFileAttributesA" ( _ ByVal lpFileName As String) As Long
Beschreibung:
Diese Funktion ermittelt die Dateiattribute einer Datei/eines Ordners.
Parameter:
lpFileName | Erwartet den vollständigen Dateinamen (inkl. Pfadangabe) der Datei, deren Dateiattribute ermittelt werden sollen. |
Rückgabewert:
Der Rückgabewert entspricht einer oder eine Kombination der nachfolgenden Konstanten. Existiert die angegebene Datei/Ordner nicht, so wird -1 zurückgegeben.
Rückgabekonstanten:
' Archiv Const FILE_ATTRIBUTE_ARCHIVE = &H20 ' Komprimiert Const FILE_ATTRIBUTE_COMPRESSED = &H800 ' Verzeichnis Const FILE_ATTRIBUTE_DIRECTORY = &H10 ' Versteckt Const FILE_ATTRIBUTE_HIDDEN = &H2 ' Keine Attribute Const FILE_ATTRIBUTE_NORMAL = &H80 ' Schreibgeschützt Const FILE_ATTRIBUTE_READONLY = &H1 ' Systemdatei Const FILE_ATTRIBUTE_SYSTEM = &H4
Beispiel:
Private Declare Function GetFileAttributes Lib "kernel32.dll" _ Alias "GetFileAttributesA" ( _ ByVal lpFileName As String) As Long Private Const FILE_ATTRIBUTE_ARCHIVE = &H20 ' Archiv Private Const FILE_ATTRIBUTE_COMPRESSED = &H800 ' Komprimiert Private Const FILE_ATTRIBUTE_DIRECTORY = &H10 ' Verzeichnis Private Const FILE_ATTRIBUTE_HIDDEN = &H2 ' Versteckt Private Const FILE_ATTRIBUTE_NORMAL = &H80 ' Keine Attribute Private Const FILE_ATTRIBUTE_READONLY = &H1 ' Schreibgeschützt Private Const FILE_ATTRIBUTE_SYSTEM = &H4 ' Systemdatei
Private Sub Command1_Click() Dim ChkFile As String ChkFile = InputBox("Bitte geben sie einen Dateipfad an", "Auf Schreibschutz _ prüfen", "c:\Autoexec.bat") If GetFileAttributes(ChkFile) = -1 Then MsgBox "Die angegebene Datei existiert nicht", vbOKOnly + vbInformation, _ "Lesen nicht möglich" ElseIf CBool(GetFileAttributes(ChkFile) And FILE_ATTRIBUTE_READONLY) = True Then MsgBox "Die angegebene Datei ist schreibgeschützt!", vbOKOnly + _ vbInformation, "Schreibschutz ist gesetzt" Else MsgBox "Die angegebene Datei ist nicht schreibgeschützt!", vbOKOnly + _ vbInformation, "Schreibschutz ist nicht gesetzt" End If End Sub