![]() |
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Das wäre ein bisschen zuviel Aufwand. Aber danke euch beiden, jetzt verstehe ich was gemeint ist! :)
|
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Zitat:
PS: Ich hasse es, wenn Programme bestimmte Dinge annehmen (ggf. sogar hartkodiert) und der Nutzer keine Möglichkeit hat, vom Standard abweichende Parameter zu bestimmen. Grüße Dalai |
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Zitat:
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? |
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Zitat:
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. Zitat:
Zitat:
Code:
Und aus
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion").GetValue("ProgramFilesDir")
![]() Edit: Wichtige Änderung: Für KEY_ALL_ACCESS werden Adminrechte benötigt. Zum Lesen genügt KEY_READ. Danke Dalai, für den Hinweis! :-D
Code:
Guido.
Reg.Access := KEY_WOW64_64KEY or KEY_READ
|
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
Beachte, dass KEY_ALL_ACCESS in Verbindung mit HKLM Adminrechte benötigt. Sofern du nur lesen musst, solltest du stattdessen KEY_READ benutzen.
Grüße Dalai |
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
@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. |
AW: Windows Programme Ordner x64 in 32 bit Progrmm ermitteln
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:
- ![]() - ![]() ![]() Ein großes Dankeschön an alle, die geholfen haben! :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz