Seite 1 von 1

Zuletzt benutztes Verzeichnis?

Verfasst: 14.10.2007 22:24
von roherter
Wie findet man das zuletzt benutzte Verzeichnis,GetCurrentDirctory() hilft dabei ja nicht?
Oder geht das nur mit Zwischenspeichern des zuletzt aufgerufenen?

Verfasst: 14.10.2007 23:07
von #NULL
meinst du bei den open-/savefile-requestern?
ich habs immer selbst gespeichert.
stimmt, könnte ja sein das windows sich das irgendwie für den prozess zwischenspeichert.

Verfasst: 15.10.2007 01:11
von AND51
Ich weiß nicht, ob es das ist, aber ich habe es schon öfter in der Registry gesehen: MRU-Einträge!

Dort werden Pfade gespeichert, die ich tatsächlich zuletzt in irgendwelchen FileRequestern angeklickt habe oder es werden dort auch alle Einträge aufgelistet, die ich in START > AUSFÜHREN eingegeben habe.

Guck doch mal bei dir in die Registry:
HKEY_CURRENT_USER > SOFTWARE > MICROSOFT > WINDOWS > CURRENT VERSION > EXPLORER
Alles, was dort mit MRU zu tun hat, sind irgendwelche zuletzt benutzen Pfade.
Ab hier gibts 2 Wege:
1.) In COMDLG32 > OPENSAVEMRU findest du alle zuletzt gespeicherten Dateien nach Dateiendung sortiert
2.) RUNMRU; hier stehen alle Einträge, die auch bei dir in START > AUSFÜHREN stehen


Wie gesagt, ich habe es des öfteren mal gesehen und vielleicht ist das dabei, was du suchst. Wenn nicht, dann nicht. :allright:

Verfasst: 15.10.2007 08:31
von Bisonte
Gibt es nicht für genau diesen Zweck irgendeine WinApi Funktion ?

Weil der WinExplorer kann das ja auch ....

(Hab kein Plan von der API, aber wenn der WinExplorer das auf die Reihe
kriegt, und das womöglich in der Registry gespeichert wird, gibts doch
sowas bestimmt.... oder ? )

Aber im Grunde genommen macht es selbst der Explorer nicht anders:

Selbst speichern. Also wird man wohl ne Variable "opfern" müssen ;)

Verfasst: 15.10.2007 12:50
von AND51
> Gibt es nicht für genau diesen Zweck irgendeine WinApi Funktion
Ja, und zwar eine, um die Registry auszulesen :wink:

> Weil der WinExplorer kann das ja auch
Nicht vergessen: Warum heißt es denn gerade ExplorerComboBox(), usw.? Weil die Gadgets den Explorer repräsentieren. Ich denke/vermute, dass der Explorer deshalb sich gut die Pfade merkt, weil Explorer-Gadgets, FileRequester und PathRequester in so gut wie jedem Programm stecken.

> Also wird man wohl ne Variable "opfern" müssen
Ich gehöre auch zu der Spezies, die Variablen so ungern wie Nieren opfern. Geht das denn nicht auch anders? :lol:

Geht es: Wenn ich mich recht entsinne, weiß der Internet Explorer merkwürdigerweise auch über mehrere Neustarts hinweg noch wo ich meine Downloads gespeichert habe. Die PB IDE weiß innerhalb einer Session auch noch, wo ich meine Codes abspeichern will.

Mit anderen Worten: Innerhalb einer Session merkt sich ein FIleRequester automatsich das Verzeichnis. Korrigiert mich, wenn ich grad daneben lieg!
Ob der FileRequester sich für euer Programm auch über mehrere Neusrats hinweg das Verzeichnis merkt, entzieht sich im Augenblick meiner Kenntnis.

Verfasst: 15.10.2007 13:54
von #NULL
hab's grad mal getestet.
OpenFileRequester() merk sich das verzeichnis des letzten aufrufs, bei dem
nicht abgebrochen wurde. natürlich muss man dabei für defaultfile$ einen
dateinamen ohne pfad angeben.
Save- und Open-FR verwenden dabei ein und das selbe, also nicht getrennt voneinander, was unter umständen ungünstig sein kann. dann muss man selber merken.