Windows API - Pfad vorgeben

Liebe ExpertInnen,

nachdem ich nun in der Lage bin, einen Pfad vom Anwender auswählen zu lassen, fehlt mir noch die Möglichkeit, dem Anwender einen Pfad vorzugeben, den er dann evtl. nur noch bestätigt, so wie es per FileOpenSafe für die Datei passiert.

Meine Windows-Kenntnisse reichen gerade mal aus, um in SHBrowseForFolder die Variable pszDisplayName zu finden - die riecht zwar danach, scheint es aber nicht zu sein. Wer weiß was?

Gruß Ralf

Windows API - Pfad vorgeben, neu formuliert :smile:

um in SHBrowseForFolder die Variable pszDisplayName zu finden

das war natürlich dummes Zeug - wo kein Eingabefeld, da hilft auch kein String, hätte ich gleich merken können. Die Frage müsste demnach lauten, wie die Funktion heißt, die auf einen vorgegebenen Ordner positiniert - so es sie denn gibt.

Gruß Ralf

BROWSEINFO BI;
 BI.hwndOwner = hwnd;
 BI.pidlRoot = NULL;
 BI.pszDisplayName = folder;
 BI.lpszTitle = "Choose folder";
 BI.ulFlags = NULL;
 BI.lpfn = NULL;
 
 
 LPITEMIDLIST pidl;
 static TCHAR szPath[MAX\_PATH \* 2] = "";

 WCHAR root[MAX\_PATH];
 MultiByteToWideChar(CP\_THREAD\_ACP,MB\_USEGLYPHCHARS,"c:\\files\\N.dat",-1,root,MAX\_PATH);

 IShellFolder \*psf = NULL;
 psf-&gt:stuck\_out\_tongue\_winking\_eye:arseDisplayName(hwnd,NULL,root,NULL,&pidl,NULL);

 BI.pidlRoot = pidl;
 pidl = SHBrowseForFolder(&BI);
 SHGetPathFromIDList(pidl, szPath);

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, RakonDark,

vielen Dank erstmal. Ob’s geklappt hat, erzähle ich Dir in 12 Wochen, wenn ich den Sprachkurs hinter mir habe. Vorausgesetzt, dass ich rauskriege, um welche Sprache {Perl | c++ | web} es sich handelt.

Gruß Ralf

hmm , also dann , ich bin mir nicht sicher obs so gut funktioniert, habich auch nur irgentwo copy past gameacht :smile:

Ich benutze
CFolderDialog is an MFC based class that encapsulates the Windows Shell function for browsing folders, ::ShBrowseForFolder.
zu finden unter
http://www.codeguru.com/cpp/w-d/dislog/dialogforsele…

einfach mal in den source gugen :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]