Warum ändert GetOpenFileName() die current directory?
-
Hi!
Jo, warum ist das so? Warum ändert GetOpenFileName() die current working directory?
Hat das nen bestimmten Grund? Oder zu faule Entwickler? Oder einfach schlecht designed?Man könnte sich den restore halt eigentlich sparen...
MfG
-
Ich meine mich daran zu erinnern, dass man das per Flag abschalten kann. Ist aber schon lange her, dass ich was mit der WinAPI gemacht hab.
-
Kranz schrieb:
Jo, warum ist das so? Warum ändert GetOpenFileName() die current working directory?
Hat das nen bestimmten Grund? Oder zu faule Entwickler? Oder einfach schlecht designed?Vielleicht weil der User ein anderes Verzeichnis gewählt hat?

Ansonsten: Bitte detaillierter beschreiben z.B. Ok oder Abbrechen gedrückt? Wie ändert sich der Pfad? Gabs Fehlermeldung Rückgabewert und mit GetlastError() ?ProgChild schrieb:
Ich meine mich daran zu erinnern, dass man das per Flag abschalten kann. Ist aber schon lange her, dass ich was mit der WinAPI gemacht hab.
Kann es sein, daß Du den OFN_EXPLORER Flag meinst, mit dem man die Optik auf den alten oder auf den neuen (sog. "Explorer"-) Stil einstellen kann?
Martin
-
Nachtrag:
Vergleiche mal mit dem Beispielcode aus der MSDN:
"Using Common Dialog Boxes" http://msdn.microsoft.com/en-us/library/ms646829(VS.85).aspx
-
vielleicht damit das verzeichnis beim nächsten aufruf von GetOpenFileName dem letzt gewählten verzeichnis entspricht
-
Danke für die Antworten.
Möchte jetzt nicht testen, wann die directory geändert wird.
Fakt ist, dass sie geändert wird, wenn eine Datei doppelgeklickt wird oder OK gedrückt wird, der Dialog also mit Erfolg verschwindet.@ProgChild
Du meinst wohl OFN_NOCHANGEDIR, das ist aber "ineffective" für XP & GetOpenFileName().Naja, muss ich halt rest0ren

-
Komisch, OFN_NOCHANGEDIR hat den gewünschten Effekt! Unter XP!
Habe im Dialog eine Datei vom Desktop gewählt, danach ist GetCurrentDirectory() immer noch gleich wie vorher...