Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Windows Programme Ordner x64 in 32 bit Progrmm ermitteln (https://www.delphipraxis.net/203061-windows-programme-ordner-x64-32-bit-progrmm-ermitteln.html)

Guido Eisenbeis 9. Jan 2020 04:16

Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Hallo.

Zitat:

Zitat von RWarnecke, 7. Sep 2012 (Beitrag 1182055)
Auf einem Windows 64Bit wird CSIDL_PROGRAM_FILES bei einem 32Bit-Programm C:\Program Files (x86) und ein 64Bit-Programm C:\Program Files als Ergebnis liefern.

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 gefuden. Auch nicht mehr fragen, ob ich schon ... Ich habe! Und nichts gefunden.

Guido Eisenbeis 9. Jan 2020 05:11

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Das stimmt nicht. Ich habe doch gebeten, nicht zu raten. Bitte teste doch mal selbst.


Resolve PROGRAMFILES variable from 32bit app in Win64 OS

Guido Eisenbeis 9. Jan 2020 06:21

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Hallo Frühlingsrolle.
Delphi-Quellcode:
  // 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 andere Lösung?

Dennoch vielen Dank für deine Mühe! :thumb:

Guido Eisenbeis 9. Jan 2020 07:17

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
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:

DeddyH 9. Jan 2020 07:26

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
In diesem Thread kam ein guter Vorschlag:
Zitat:

You can write an 64 bit app to get the information for you. There is no API to get the 64 bit program files from a 32 bit caller.

Guido Eisenbeis 9. Jan 2020 07:46

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
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. MyProg ist eine 32 bit Anwendung, weil die auch auch 64 bit OS läuft, aber umgekehrt funktioniert das nicht. :wink:

Danke für den Tipp!

DeddyH 9. Jan 2020 07:53

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Wenn sich das externe 64bit-Programm nicht starten lässt, weil es sich um ein 32Bit-Windows handelt, kannst Du Dir den Rest der Prüfung doch sparen.

Guido Eisenbeis 9. Jan 2020 07:59

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Zitat:

Zitat von DeddyH (Beitrag 1454709)
Wenn sich das externe 64bit-Programm nicht starten lässt, weil es sich um ein 32Bit-Windows handelt, kannst Du Dir den Rest der Prüfung doch sparen.

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.

TiGü 9. Jan 2020 08:22

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
Zitat:

Zitat von Guido Eisenbeis (Beitrag 1454712)
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.

Ich nehme an, du hast ein deutsches Windows installiert?
Tippe doch in eine beliebige Windows Explorer Addresszeile das englische "C:\Program files" (ja, ohne Anführungszeichen) und schaue wo du rauskommst!


Des Weitern würde ich mal in die Windows Registry nachschauen, ob dieses ominöse "ExternalProg" ggf. den Informationen zu seinen Aufenthaltsort abspeichert.

Uwe Raabe 9. Jan 2020 08:23

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
 
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".


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz