Hallo, Stefan, …
… natuerlich habe/hatte ich die sachen schon probiert
mit allen denkbaren cast-operationen. nichts hat geholfen.
ich habe den eindruck, dass das ding evtl keine zugriffsberechtigung hat zum key.
das biest gibt den code 2 zurueck, was der defined EINGANGs-code
des HKEY_LOCAL_MACHINE ist (modifiziert um 0x800000…)
das ding ist doch SOOOO einfach, drei tage arbeit,
und wegen dieser k… alles fuer die katz?
das ist (immer wieder) das frustrierende:
dazu gibt’s dann immer! wieder! pruegel, obwohl man
sich die naechte und wochenenden um die ohren schlaegt.
frustrierend, aeusserst frustrierend.
m$: das netzwerk scheint (wieder?) komplett platt zu sein.
ansonsten kaeme ich da auf deren kb.
mal sehen jetzt, was mein devstudio sonst noch an infos hergibt.
danke - falls dir noch was einfaellt.
wenn ich das finde, geb ich toenchen.
gruss - digi
Dein Funktionsaufruf ist falsch:
result = RegOpenKey (HKEY_LOCAL_MACHINE,
(LPCSTR)&„SOFTWARE\Microsoft\IE Setup\Options\UninstallDir“,
(PHKEY)&hkResult);
Das Problem ist das „&“-Symbol bei der Übergabe des Subkey.
Eine String-Konstante wie „SOFTWARE…“ wird in einem
geschützen Speicherbereich hinter dem eigentlichen
Programm-Code abgelegt. Wenn diese String-Konstante dann im
Source vorkommt, wird automatisch die Startadresse eingesetzt.
Daher muss es lauten:
(LPCSTR)„SOFTWARE\Microsoft\IE Setup\Options\UninstallDir“
Ohne Casting hätte dir der Compiler vermutlich schon auf die
Finger geklopft
))
offensichtlich eine der ‚beliebten‘ windows
‚herausforderungen‘
Nee, das hat mit Windows eigentlich nichts zu tun. Ist mehr
ein C/C+±Problem, diese Sonderbehandlung von Zeichenketten.
Muss man halt durch
))
cu Stefan.