WinRegistry Öffnen und bearbeiten



  • Moin moin ...

    Ich versuche mit folgendem Code einen Registry Eintrag zu erstellen bzw. zu öffnen:

    HKEY hKey; 
    RegCreateKeyEx(HKEY_CURRENT_USER,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0);
    

    ... und erhalte folgende Fehler:

    Error	1	error LNK2028: unresolved token (0A00000A) "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	Tuner.obj
    Error	2	error LNK2028: unresolved token (0A000036) "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	stdafx.obj
    Error	3	error LNK2028: unresolved token (0A000024) "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	Hauptprogramm.obj
    Error	4	error LNK2028: unresolved token (0A00005D) "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	eigeneFunktionen.obj
    Error	5	error LNK2028: unresolved token (0A00002D) "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	AssemblyInfo.obj
    Error	6	error LNK2019: unresolved external symbol "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z) referenced in function "private: void __clrcall IPSender::Tuner::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Tuner@IPSender@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	Tuner.obj
    Error	7	error LNK2001: unresolved external symbol "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z)	AssemblyInfo.obj
    Error	8	error LNK2001: unresolved external symbol "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z)	eigeneFunktionen.obj
    Error	9	error LNK2001: unresolved external symbol "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z)	Hauptprogramm.obj
    Error	10	error LNK2001: unresolved external symbol "extern "C" long __stdcall RegCreateKeyExA(struct HKEY__ *,char const *,unsigned long,char *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExA@@$$J236YGJPAUHKEY__@@PBDKPADKKQAU_SECURITY_ATTRIBUTES@@PAPAU1@PAK@Z)	stdafx.obj
    Error	11	fatal error LNK1120: 6 unresolved externals	C:\Users\Jens\Desktop\Downloads\C++ lernen\c++\Projekte\IPSender\Debug\IPSender.exe
    

    Ich verstehe nicht was hier schief läuft, aber Ihr bestimmt 🙂



  • Guck hier: Du musst noch die entsprechende Lib dazu linken.
    http://msdn.microsoft.com/en-us/library/ms724844.aspx

    BTW: Das hier ist das falsche Forum, WinAPI wäre korrekt. Andererseits gibts auch mit .NET Möglichkeiten die Registry zu manipulieren.



  • Danke, das wars.



  • Könnte mir jemand ein Beispiel dazu geben, wie ich diese Änderung ausführen könnte?

    .... den Benutzerkontenschutz deaktivieren
    
    ...
    Dafür mit dem Registrierungseditor zu dem Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Policies\System" navigieren. Dort dann einen neuen "DWORD-Eintrag" mit dem Namen "EnableLUA" erstellen und diesem den "Wert" "0" zuweisen.
    Die Änderungen werden nach einem Neustart übernommen. Um den Benutzkontenschutz wieder zu aktivieren, muss nur der "Wert" "0" auf "1" gesetzt werden.
    

Anmelden zum Antworten