-
Forum: Programmieren allgemein
by Guido Eisenbeis,
10. Jan 2020
Da ich schon vor dem Posten einiges recherchiert hatte, dachte ich nicht, dass es eine Lösung für das Problem gibt. Nun haben wir sogar mehrere Lösungen gefunden. Hier meine Favoriten:
- Der Tipp von Uwe Raabe, dass "Program Files" und "Program Files (x86)" auf allen Windows in allen Sprachen vorhanden sind, und die Übersetzungen nur Links sind.
- Der Tipp aus dem EN Forum "stackoverflow",...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
10. Jan 2020
@Dalai
Ich habe es ausprobiert und kann es bestätigen: Mit KEY_ALL_ACCESS braucht man Adminrechte, mit KEY_READ gehts auch ohne. In meinem Posting #27 habe ich es geändert.
Vielen Dank für den Hinweis! :thumb:
Guido.
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das ist ja cool, genau so ist es in meinem Code! :thumb:
Zuerst lese ich den Eintrag in der Registry, dann sehe ich in "Program files\Unterordner\..." nach, dann in "Program files (86)\Unterordner\...", und wenn nichts gefunden wird, fragt mein Programm den User.
Es ist ganz unten der letzte Beitrag:
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das wäre ein bisschen zuviel Aufwand. Aber danke euch beiden, jetzt verstehe ich was gemeint ist! :)
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Da hast du Recht. In dem Fall hätte ich schlechte Karten. :cry:
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das verstehe ich nicht ganz. :gruebel: Es geht doch um mein 32 bit Programm, das ermitteln soll, wo sich das externe Programm installiert hat.
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das hat sich übrigens als ein Glücksfall erwiesen! :thumb: 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...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Kann das Auslesen des RegKeys nicht umgeleitet werden, wenn ich mit MyProg_32_bit nachsehen will auf dem 64 bit Registry-Zweig? Schon probiert?
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Ansonsten eine gute Idee! :thumb: Werde ich mir ansehen. Mit der Möglichkeit "Program Files" und "Program Files (x86)" zu benutzen, müsste man immer noch die LWs...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das ist klar, aber ohne Bestätigung und / oder Gegenprüfung kann ich zwar vermuten (was ich ja auch habe) :wink: aber nicht gleich darauf schließen, dass das z. B. im kyrillischen oder chinesischen genauso ist. :spin2:
Leider nicht zuverlässig, da man zu allem Überfluss das ExternalProg auch portable installieren kann. Aber gute Idee! :thumb:
Das wäre die ideale Lösung, da ich in...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Nicht schlecht, Herr Specht! :wink:
Aber wie soll ich es starten, wenn ich nicht weiß wo es installiert ist? :mrgreen:
Gibt es denn einen virutellen Ordner Pfad oder was ähnliches, der auf allen Windowsen gleich ist? Wie heißt denn "Program files" z. B. in einem französichen Windows, oder einem kroatischen? Chinesisch ist auch nicht schlecht.
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Hallo Detlef.
Leider ist das keine Lösung, wie gesagt, es soll aus einer 32 bit Anwendung ermittelt werden.
Der Hintergrund ist der, dass ich mit meinem Programm (sagen wir MyProg) herausfinden will, wo sich ein fremdes Programm (nennen wir's ExternalProg) installiert hat. Da ich nicht weiß, ob der User ExternalProg_x86 oder ExternalProg_x64 installiert hat, muss ich beide Pfade ermitteln....
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Da hast du Recht. *seufz* :? Ich habe da ewig lange recherchiert und nichts gefunden. Danke für den Versuch, so bin ich wenigstens nicht allein. :wink:
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Hallo Frühlingsrolle.
// uses SysUtils;
Edit1.Text := GetEnvironmentVariable('ProgramW6432');
Edit2.Text := GetEnvironmentVariable('ProgramFiles(x86)');
Die Lösung mit den Umgebungsvariablen kenne ich, die ist im Link drin, den ich oben gepostet habe. Das wäre zwar eine Möglichkeit, (sogar die einzige, die ich kenne), aber Umgebungsvariablen sind nicht zuverlässig. Gibt es eine...
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Das stimmt nicht. Ich habe doch gebeten, nicht zu raten. Bitte teste doch mal selbst.
Resolve PROGRAMFILES variable from 32bit app in Win64 OS
-
Forum: Programmieren allgemein
by Guido Eisenbeis,
9. Jan 2020
Hallo.
Gibt es mittlerweile (9. Jan 2020) eine Möglichkeit, aus einem 32 bit Programm den Programme Ordner für 64 bit Programme zu ermitteln?
Disclaimer: Bitte nur Lösungen posten, die funktionieren. Bitte nicht raten, und keine Suche empfehlen, weder Google & Co, noch Forensuche usw. Bitte keine Verweise auf Threads, wo ähnliches gefragt wurde, es sei den es wurde eine Lösung...