SetRegistryKey



  • Hallo,

    aus welchen Gründen sollte man zu Beginn in der InitInstance() nicht SetRegistryKey benutzen und welche Alternativen machen Sinn?

    VG
    Karl



  • mit SetRegistryKey möchtest Du einen Wert in die Registry schreiben?

    Wüsste nicht, warum das in der InitInstance() nicht funktionieren sollte.



  • Wüsste auch keinen Grund warum man das nicht machen sollte, aber wenn Karlchen_ mal sagt warum man das nicht machen soll, könnte man darüber nach denken, oder das genauer ergründen. 😕

    alternative ist am Ende des Programmes, denn dann will man sicher Einstellungen Speichern 😃


  • Mod

    Wenn Du weiterhin eine INI Datei dann setzt Du SetRegistryKey eben nicht.

    Allerdings musst Du dann IMHO selbst dafür sorge tragen, das Dein INI Datei wo landet wo sie auch geschrieben werden kann...



  • Falls Du irgendwelche Programmeinstellungen sichern willst, würde ich Dir sowieso raten, dies in einer Datei statt in der Registry zu tun.
    Dadurch bist Du Betriebssystem unabhängig und musst dich nicht um die Registry Virtualisierung ab Windows Vista kümmern.


  • Mod

    sh4re schrieb:

    Dadurch bist Du Betriebssystem unabhängig und musst dich nicht um die Registry Virtualisierung ab Windows Vista kümmern.

    Die MFC verwendet selbst nur HKCU! D.h. man muss sich um gar nichts kümmern. Dieser Zweig wird nicht virtualisiert...
    Zudem muss man sich seit VS-2008 um Virtualisierung auch nicht mehr wirklich kümmern. Ein Manifest wird bei neuen Projekten automatisch erzeugt.



  • Das Problem besteht weiterhin, wenn du den Registry Wert einlesen möchtest.


  • Mod

    sh4re schrieb:

    Das Problem besteht weiterhin, wenn du den Registry Wert einlesen möchtest.

    Was für ein Problem besteht beim Lesen?
    Lesen kann man immer alles, sofern es nicht der Sicherheitsbereich der Registry ist.



  • wenn man in HKLM einen Eintrag schreibt der virtualisiert wird, kann man ihn anschließend nicht mit der selben Adresse zum Beispiel "HKLM/SOFTWARE/MyCompany/MyProgramm/..." auslesen, da der Eintrag an diesem Ort nicht existiert.


Anmelden zum Antworten