Aktueller Pfad verschoben nach Aufruf CFileDialog



  • Hallo Zusammen!

    Ich merke mir bestimmte Einstellungen innerhalb von ini-Files. Das ini-File liegt meist im selben Verzeichnis wie die Anwendung, also genügt beim Öffnen der Datei einfach der Dateiname. Rufe ich nun vorher den CFileDialog auf ändert sich an diesem Verhalten etwas. Ich muss nun den kompletten Pfad der ini Datei angeben, sonst wird sie nicht gefunden. Wie kann ich sicherstellen, dass als aktueller Pfad der Arbeitspfad stehen bleibt? Ich benötige den CFileDialog nur zum ermitteln eines Pfades.
    Bei openFileDialog gibt es ein Member "RestoreDirectory". Den kann ich hier nicht finden, es existiert einzig der "m_ofn" und in dem habe ich nicht wirklich das passende Gegenstück gefunden. Kann mir jemand helfen?
    Es wäre ja auch möglich den Pfad der aktuellen Anwendung herauszufinden, aber mir wäre es lieber hier das Umstellen auf den gewählten Pfad zu verhindern, da ich diesen wie gesagt nur zur späteren Verwendung benötige.

    Vielen Dank und viele Grüße,
    Ranger



  • Glasgow_Ranger schrieb:

    Es wäre ja auch möglich den Pfad der aktuellen Anwendung herauszufinden

    Das könntest du jedenfalls mit GetCurrentDirectory/SetCurrentDirectory machen...



  • Hallo Matze!

    Sorry, aber da hab ich nen Fehler gemacht, natürlich wird die "CurrentDirectory" eben gerade durch FileDialog umgesetzt.
    Ich müsste also genauer gesagt entweder dieses "Umstellen" verhindern, oder ich bekomme den Pfad, in dem sich meine gestartetet Anwendung gerade befindet.

    Danke & viele Grüße,
    Ranger



  • Setze das "OFN_NOCHANGEDIR" in m_ofn.Flags oder übergebe es im Konstruktor.



  • Vielen Dank!

    Das war natürlich die Lösung.

    Viele Grüße,
    Ranger


Log in to reply