AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

Ein Thema von Guido Eisenbeis · begonnen am 9. Jan 2020 · letzter Beitrag vom 10. Jan 2020
Antwort Antwort
Seite 1 von 3  1 23      
Guido Eisenbeis

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

Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 04:16
Hallo.

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.
  Mit Zitat antworten Zitat
Alt 9. Jan 2020, 04:57     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Guido Eisenbeis

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

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 05:11
Das stimmt nicht. Ich habe doch gebeten, nicht zu raten. Bitte teste doch mal selbst.


Resolve PROGRAMFILES variable from 32bit app in Win64 OS

Geändert von Guido Eisenbeis ( 9. Jan 2020 um 05:16 Uhr)
  Mit Zitat antworten Zitat
Alt 9. Jan 2020, 06:09     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Guido Eisenbeis

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

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 06:21
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!
  Mit Zitat antworten Zitat
Alt 9. Jan 2020, 06:52     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Guido Eisenbeis

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

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:17
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:26
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Guido Eisenbeis

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

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:46
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.

Danke für den Tipp!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:53
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Guido Eisenbeis

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

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 07:59
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!

Aber wie soll ich es starten, wenn ich nicht weiß wo es installiert ist?

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.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:22
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#10

AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln

  Alt 9. Jan 2020, 08:23
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".
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr.
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