Hallo,
für ein Update-Programm möchte ich den Programme-Ordner von Windows ermitteln. In einem Buch (Delphi 7 Kochbuch) habe ich die folgende Funktion gefunden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function GetPath_Programs : string; var pidl : PItemIDList; ProgramPath : PChar; begin if SUCCEEDED(SHGetSpecialFolderLocation(0, CSIDL_PROGRAMS, pidl)) then begin ProgramPath := StrAlloc(max_path); SHGetPathFromIDList(pidl, ProgramPath); result := Programpath; StrDispose(ProgramPath); if copy(result,length(result),1) <> '\' then result := result + '\'; end else result := ''; end; |
Doch diese Funktion liefert mir als Ergebnis:
C:\Dokumente und Einstellungen\All Users\Startmenu\Programme\
Ich möchte aber C:\Programme bzw C:\Programs erhalten.
Für "CSIDL_PROGRAMS" habe ich auch schon "CSIDL_COMMON_PROGRAMS" eingesetzt, aber das führt auch nicht zum gewünschten Ergebnis.
Kann mir hier vielleicht jemand sagen, wie ich den Programme-Ordner ermitteln kann?
Danke Ebi
Moderiert von
Narses: Topic aus VCL (Visual Component Library) verschoben am Fr 19.03.2010 um 10:47