Rubrik: Dateisystem | 22.03.05 |
CreateDirectory-Funktion Diese Funktion erstellt ein Verzeichnis. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 11.213 |
Deklaration:
Declare Function CreateDirectory Lib "kernel32.dll" _ Alias "CreateDirectoryA" ( _ ByVal lpPathName As String, _ lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Beschreibung:
Diese Funktion erstellt ein Verzeichnis.
Parameter:
lpPathName | Erwartet den existierenden Pfadnamen, in dem das Verzeichnis erstellt werden soll und den Verzeichnisnamen, der erstellt werden soll als kompletten Pfad. |
lpSecurityAttributes | Erwartet unter Windows NT/2000 eine SECURITY_ATTRIBUTES-Struktur, die mit Informationen über die Sicherheitseinstellungengefüllt ist, die benutzt werden sollen. Unter den anderen Betriebssystemen wird diese Strukturignoriert. |
Rückgabewert:
Ist die Funktion erfolgreich, so liefert sie einen Wert "ungleich 0", andernfalls wird derWert "0" zurückgegeben. Für erweiterte Fehlerinformationen rufen Sie die GetLastError-Funktion auf.
Beispiel:
Private Declare Function CreateDirectory Lib "kernel32.dll" _ Alias "CreateDirectoryA" ( _ ByVal lpPathName As String, _ lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Private Declare Function CreateDirectoryEx Lib "kernel32.dll" _ Alias "CreateDirectoryExA" ( _ ByVal lpTemplateDirectory As String, _ ByVal lpNewDirectory As String, _ lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Private Declare Function RemoveDirectory Lib "kernel32.dll" _ Alias "RemoveDirectoryA" ( _ ByVal lpPathName As String) As Long Private Declare Function SetFileAttributes Lib "kernel32.dll" _ Alias "SetFileAttributesA" ( _ ByVal lpFileName As String, _ ByVal dwFileAttributes As Long) As Long ' SetFileAttributes dwFileAttributes-Konstanten Private Const FILE_ATTRIBUTE_ARCHIVE = &H20 ' Attribut Archiv Private Const FILE_ATTRIBUTE_HIDDEN = &H2 ' Attribut Versteckt Private Const FILE_ATTRIBUTE_NORMAL = &H80 ' Attribut Normal, kann mit keinem anderen kombiniert werden Private Const FILE_ATTRIBUTE_READONLY = &H1 ' Attribut Schreibgeschützt Private Const FILE_ATTRIBUTE_SYSTEM = &H4 ' Attribut Systemdatei / -ordner Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Boolean End Type
' Ein verstecktes Verzeichnis erstellen und ein zweites, das diese Attribute übernimmt Private Sub Command1_Click() Dim Retval As Long, SA As SECURITY_ATTRIBUTES ' Sicherheitseinstellungen vornehmen With SA .nLength = Len(SA) .lpSecurityDescriptor = 0 .bInheritHandle = 1 ' Standardhandle ist 1 End With ' Ein Verzeichnis erstellen und die Attribute setzen Retval = CreateDirectory("C:\Windows\Desktop\TempPath", SA) If Retval << 0 Then MsgBox "Das Verzeichniss ""C:\Windows\Desktop\TempPath"" wurde _ erfolgreich erstellt." Retval = SetFileAttributes("C:\Windows\Desktop\TempPath", _ FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_ARCHIVE) If Retval << 0 Then MsgBox "Die Attribute des Verzeichnisses _ ""C:\Windows\Desktop\TempPath"" wurden erfolgreich gesetzt" End If End If ' Ein zweites Verzeichnis erstellen mit den Attributen des Ersten Retval = CreateDirectoryEx("C:\Windows\Desktop\TempPath", _ "C:\Windows\Desktop\TempPath2", SA) If Retval << 0 Then MsgBox "Das Verzeichnis ""C:\Windows\Desktop\TempPath2"" wurde _ erfolgreich erstellt." End If ' Verzeichnisse wieder löschen Retval = MsgBox("Klicken sie auf OK um die Verzeichnisse wieder zu _ Löschen", vbOKCancel, "Löschen") If Retval = vbOK Then RemoveDirectory "C:\Windows\Desktop\TempPath" RemoveDirectory "C:\Windows\Desktop\TempPath2" End If End Sub