c ++ - Windows Stifinder som mappen træbrowser

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at implementere en platform uafhængig fil/bibliotek tree browser. Grundlæggende prøver jeg at replikere Windows Explorer-kontrol til at gennemse computeren, men jeg kan ikke finde ud af, hvordan man finder mappen 'Desktop' eller 'My Computer' (Den ændrer sig i hver pc og os type, version og sprog). Hvis jeg kan finde en måde at få den øverste mappe streng, end jeg kan krydse ned og befolle træet forhåbentlig. Er der en registreringsstreng et eller andet sted?


I første omgang vil jeg kun målrette MS Windows os (es, XP, Vista osv.), Men senere planlægger jeg at understøtte Linux og Mac. Jeg bruger wxWidgets til min GUI, men jeg er åben for alle forslag til dette specifikke problem. og jeg bruger C ++ i VS2008.

Bedste reference


Ignorerer overførbarhed, hvad du har brug for er 'PIDL' træet. PIDL'er er generaliseringer af filstier. Du kan få PIDL'erne til særlige mapper med SHGetFolderLocation. Skrivebordet er CSIDL\_DESKTOP ( ikke CSIDL\_DESKTOPDIRECTORY), Denne computer er CSIDL\_DRIVES. [4]


Hvis du vil konvertere PIDL'erne til navne, skal du kigge på SHGetNameFromIDList [5].

Andre referencer 1


Tag et kig på SHGetFolderPath-funktionen. [6]