Verzeichnis Frage



  • Kann ich feststellen, ob ein Verzeichnis im Hintergrund geöffnet ist ?
    Wenn ich ein Verzeichnis umbenennen will, das im Hintergrund geöffnet ist z.B. WinExplorer, bekomme ich eine Fehlermeldung -> konnte Path nicht finden oder so.



  • Was ist ein Verzeichnis "im Hintergrund"??



  • Also was ich meine:
    Ich öffne z.B. mit dem Windows Explorer den Ordner c:\test und lasse es geöffnet.
    Nun starte ich mein Programm in dem folgender Code enthalten ist.

    RenameFile("c:\\test", "c:\\test2");
    

    dann bekomme ich eine Fehlermeldung, da der Explorer das Verzeichnis geöffnet hat.
    Also will ich vorher eine Art Sicherheitsabfrage konstruieren, um dann eine Warnmeldung/Hinweis auszugeben, das Verzeichnis zu schließen .



  • enameFile versucht, den Namen der mit OldFile angegebenen Datei in NewFile zu ändern. Wird die Operation erfolgreich durchgeführt, gibt RenameFile den Wert true zurück. Kann die Datei nicht umbenannt werden (weil beispielsweise die Anwendung keine Rechte zum Ändern des Dateinamens besitzt), wird false zurückgegeben.

    Ansonsten WIN API MoveFile und GetLastError auslesen.



  • ok Danke.
    Du meinst also so in der Form.

    if(RenameFile("c:\\test", "c:\\test2"))
    {
    .....
    .....
    }
    else
    {
    ....
    ....
    }
    

    Nachtrag:
    Hab da ne ganz einfache Lösung gefunden. Danke nochmal.

    Nochmal:
    if(RenameFile("c:\\test", "c:\\test2"));
    else
    {
    ShowMessage("Bitte Anwendung in Hintergrund schließen");
    goto Nochmal;
    }
    ...
    ...
    


  • goto? 😮

    while(!RenameFile("c:\\test", "c:\\test2"))
       ShowMessage("Bitte Anwendung in Hintergrund schließen");
    

    Wobei man meiner Meinung nach, dem Nutzer eine Chance geben sollte da raus zu kommen.



  • ok ok goto ist altmodisch 🙂 kommt davon, wenn man lange nichts mehr gemacht hat und von einer anderen Sprache kommt 🙄

    Danke


Anmelden zum Antworten