Das hat sich übrigens als ein Glücksfall erwiesen!
Zwar war das Hauptthema nicht die Lösung, aber ich habe mir den langen Artikel bis zu Ende angesehen und gaaaaanz am Ende stand eine einzige Zeile, und die auch noch in VB. Die habe ich in Delphi übersetzt und ausprobiert. Bei meinen ersten Tests hat das tatsächlich funktioniert und ich konnte "Program Files" und "Program Files (x86)" mit meine 32 bit Programm auslesen!
Das sieht doch schonmal gut aus. Ist aber noch zu Testen, ob das mit anderen Windowsen auch funktioniert, Win XP, Vista, 7, 8, 8 1/2,
x64, x86, (gibts noch was? Gibts XP und Vista noch?
).
Und die Lösung wäre jetzt?
Aber es gibt viele Programme, die den Benutzer fragen, wo irgendwelche anderen Programme installiert sind. Audacity hat zum Beispiel früher gefragt, wo der MP3 Encoder installiert ist.
Für Registryzugriffe kann man ein Flag setzten, so dass 32-Bit Zugriffe nicht umgebogen werden. Gibt es das eventuell auch für die Folder-APIs?