Nef10 Einsteiger
Registriert seit: 04.2009 Beiträge:2
| Registry in C++ Hallo,
ich habe mir eine Funktion gebaut, welche einen Wert in der Registery ändert. Das Kompelieren geht auch, nur wenn ich Sie ausführe kommt: Code:
Unbehandelte Ausnahme bei 0x77da78c9 in Test.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x0000003c
Hier der Code:
Code:
#include <windows.h>
void Reg (HKEY Zweig, char Pfad, char Name, char Wert1)
{
HKEY hkey;
char *Wert;
Wert = reinterpret_cast<char*>(Wert1);
RegOpenKeyEx(Zweig,(LPCTSTR)Pfad, 0, KEY_ALL_ACCESS, &hkey); // Öffnen
RegSetValueEx(hkey, (LPCTSTR)Name, 0, REG_SZ, (BYTE *)Wert, strlen(Wert)); // Wert setzen
RegCloseKey(hkey); // Schließen
}
int main(int argc, char **argv)
{
Reg (HKEY_LOCAL_MACHINE, (char)"SYSTEM\\CurrentControlSet\\Services\\Schedule", (char)"Start", (char)"00000004");
return 0;
}
MfG
Steffen
|
Nef10 Einsteiger
Registriert seit: 04.2009 Beiträge:2
| Danke Danke, jetzt tut es es!
Für alle die ihn brauchen können, hier ist der berichtigte Code:
Code:
#include <windows.h>
void Reg (HKEY Zweig, char* Pfad, char* Name, char* Wert)
{
HKEY hkey;
RegOpenKeyEx(Zweig,(LPCTSTR)Pfad, 0, KEY_ALL_ACCESS, &hkey); // Öffnen
RegSetValueEx(hkey, (LPCTSTR)Name, 0, REG_SZ, (BYTE *)Wert, strlen(Wert)); // Wert setzen
RegCloseKey(hkey); // Schließen
}
int main(int argc, char **argv)
{
Reg (HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\Schedule", "Start", "00000004");
return 0;
}
MfG
Steffen
|