Einzelnen Beitrag anzeigen

Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 09:54
Tippe doch in eine beliebige Windows Explorer Addresszeile das englische "C:\Program files" (ja, ohne Anführungszeichen) und schaue wo du rauskommst!
Das ist klar, aber ohne Bestätigung und / oder Gegenprüfung kann ich zwar vermuten (was ich ja auch habe) aber nicht gleich darauf schließen, dass das z. B. im kyrillischen oder chinesischen genauso ist.

Des Weitern würde ich mal in die Windows Registry nachschauen, ob dieses ominöse "ExternalProg" ggf. den Informationen zu seinen Aufenthaltsort abspeichert.
Leider nicht zuverlässig, da man zu allem Überfluss das ExternalProg auch portable installieren kann. Aber gute Idee!

Die Ordner heißen immer Program Files bzw. Program Files (x86). Die Übersetzungen sind nur Links. So verweist "C:\Programme" hier unter einem 64-Bit Programm auf "C:\Program Files".
Das wäre die ideale Lösung, da ich in meinem Code die Ordner "halb-hart"-codiert abklappere:
Delphi-Quellcode:
FileExists('C:\Program Files\ExampleFolder\ExternalProg.exe') ...
FileExists('C:\Program Files (x86)\ExampleFolder\ExternalProg.exe') ...
Ist das auch in chinesisch, kroatisch, usw. so? Bitte nicht falsch verstehen, ich will nur sicher gehen. Nach all dem Suchen wäre somit die Lösung so einfach, oder?

Liegen die Ordner immer im LW-Root? Also könnte ich das abklappern: C:\Program Files, D:\Program Files, E:\Program Files usw?
  Mit Zitat antworten Zitat