Windows 64-bit

24/11/2009 - 18:57 von Raymund | Report spam
Ich habe eine kleine Anwendung welche Verzeichnis-Informationen aus der
Registry ausliest um diese Weiterzuverwenden.

Ich lese einen Schlüssel aus HKEY_LOCAL_MACHINE aus, funktiniert in XP,
Vista und Windows 7, jedoch nur in der 32-bit-Version.
Die Anwendung kennt den Schlüssel überhaupt nicht und gibt mit IF
oReg.isKey(bc_prof,HKEY_LOCAL_MACHINE) ein .F. zurück.
Die Rechte für diesen Vorgang sollten jedoch vorhanden sein. Nach der
Anpassung des Manifests kommt auch schön eine Abfrage, ob der Anwender eine
Änderung an der Konfiguration zulassen möchte.

<description>Visual FoxPro</description> <trustInfo
xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>

Die Funktion soll ja nur eine Abrage ausführen...

Hat vieleicht jemand eine Idee?
 

Lesen sie die antworten

#1 Matthias Kahlert
25/11/2009 - 21:40 | Warnen spam
Raymund schrieb:
Ich habe eine kleine Anwendung welche Verzeichnis-Informationen aus der
Registry ausliest um diese Weiterzuverwenden.

Ich lese einen Schlüssel aus HKEY_LOCAL_MACHINE aus, funktiniert in XP,
Vista und Windows 7, jedoch nur in der 32-bit-Version.
Die Anwendung kennt den Schlüssel überhaupt nicht und gibt mit IF



32-Bit-Programe lesen und schreiben in eine "andere" Registry als
64-Bit-Programme! Das wird vom System einfach entsprechend umgeleitet,
ohne dass Du es mitkriegst.
Hier erfolgt eine àhnliche Trennung wie bei 32-Bit und 64-Bit Programmen.

Wenn Du per FoxPro nach "HKEY_LOCAL_MACHINE\Software\Programm"
schreibst, wird dies in Wahrheit gespeichert unter
"HKEY_LOCAL_MACHINE\Software\Wow6432Node\Programm"

Ob es eine Möglichkeit gibt, dennoch auf die "normale" Registry zu
kommen, weiss ich auf Anhieb leider auch nicht.

Matthias

Ähnliche fragen