vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem22.03.05
CreateDirectory-Funktion

Diese Funktion erstellt ein Verzeichnis.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  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:
lpPathNameErwartet den existierenden Pfadnamen, in dem das Verzeichnis erstellt werden soll und den Verzeichnisnamen, der erstellt werden soll als kompletten Pfad.
lpSecurityAttributesErwartet 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

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.