Announcement

Collapse
No announcement yet.

Win32 API um Ordner zu löschen!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Win32 API um Ordner zu löschen!

    Hi leutz!<br>
    Weis einer von euch wie ich mit der Win32 API 'nen kompletten Ordner (also mit Unterordner, Dateien, etc.) löschen kann? Ich glaub kaum das man das alles rekursiv mit FindFirst, FindNext machen muss, oder doch?<br>
    <br>
    danke schon mal im vorraus....<br>
    -Volker Kamin

  • #2
    Hallo Volker,

    es gibt eine API Funktion dafür :

    Var
    aSHFOS: TSHFileOpStruct;
    szFrom: Array[ 0..128 ] Of char;
    szTo: Array[ 0..128 ] Of char;

    Begin
    FillChar ( aSHFOS, Sizeof ( aSHFOS ) , #0 ) ;
    FillChar ( szFrom, Sizeof ( szFrom ) , #0 ) ;
    FillChar ( szTo, Sizeof ( szTo ) , #0 ) ;
    // Ausgangs- und Zielverzeichnis festlegen
    StrPCopy ( szFrom, DirectoryEdit1.Text ) ;
    StrPCopy ( szTo, Format ( '\\%s\c$\', [ _sIP ] ) ) ;
    With aSHFOS Do
    Begin
    fflags := FOF_NOCONFIRMATION;
    // Wnd := DllHandle;
    wFunc := FO_COPY;
    pFrom := @szFrom;
    pTo := @szTo;
    fAnyOperationsAborted := False;
    hNameMappings := Nil;
    lpszProgressTitle := Nil;
    End;
    If ShFileOperation ( aSHFOS ) > 0 Then
    Raise Exception.Create ( 'Konnte Verzeichnis : "' + szFrom + '" nicht kopieren.' ) ;
    End;

    Über wFunc wird die Art ( Kopieren , Löschen usw. ) bestimmt.

    Ciao Torste

    Comment

    Working...
    X