Hallo Ronny,
danke für deine Antwort.
Ich hab mich also umentschieden und den Run Eintrag genommen.
Leider will sich der Eintrag nicht löschen lassen. Was hab ich
falsch gemacht?
RegOpenKey() sollte nur noch für Win 3.1 verwendet werden !
Du solltest RegOpenKey Ex () verwenden.
RegDeleteKey() gab es bei Win3.1 gar noch nicht. Das könnte dein Problem sein. Welche Fehlermeldung liefert denn RegDeleteKey() ??
> //im weiteren Programmverlauf wird der Eintrag dann nach einem Neustart gelöscht
HKEY hkey;
LPVOID lpMsgBuf;
RegOpenKey(HKEY\_LOCAL\_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey);
if (hkey)
{
FormatMessage(
FORMAT\_MESSAGE\_ALLOCATE\_BUFFER |
FORMAT\_MESSAGE\_FROM\_SYSTEM |
FORMAT\_MESSAGE\_IGNORE\_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG\_NEUTRAL, SUBLANG\_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB\_OK | MB\_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
else
{
RegDeleteKey(hkey, "maxmem");
if (hkey)
{
FormatMessage(
FORMAT\_MESSAGE\_ALLOCATE\_BUFFER |
FORMAT\_MESSAGE\_FROM\_SYSTEM |
FORMAT\_MESSAGE\_IGNORE\_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG\_NEUTRAL, SUBLANG\_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB\_OK | MB\_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
else
}
RegCloseKey(hkey);
MfG peter(TOO)