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?
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