Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
3.0 KiB

#include <windows.h>
#include <winreg.h>
#include <winuser.h>
//#define DEBUG
VOID __cdecl main(){
LONG lDeleteRegResult;
//LPCTSTR tszKeyErrors = TEXT("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Errors");
//LPCTSTR tszKeyMasterInfs = TEXT("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\MasterInfs");
//LPCTSTR tszKeySubcomponents = TEXT("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents");
//LPCTSTR tszKeyTemporaryData = TEXT("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\TemporaryData");
//LPCTSTR tszKeyOCManager = TEXT("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager");
#ifdef DEBUG
HKEY hkeyResult = 0;
// Let's see if I can open the key
lDeleteRegResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Errors", 0, KEY_ALL_ACCESS, &hkeyResult);
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("Can not open error key"), TEXT("Open"), MB_OK);
}
#endif
// Do something to clean OC Manager's registry
// the whole key will be deleted
lDeleteRegResult = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Errors");
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("Error Key not deleted"), TEXT("CleanReg"), MB_OK);
}
#endif
lDeleteRegResult = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\MasterInfs");
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("MasterInfs Key not deleted"), TEXT("CleanReg"), MB_OK);
}
#endif
lDeleteRegResult = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents");
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("Subcomponents Key not deleted"), TEXT("CleanReg"), MB_OK);
}
#endif
lDeleteRegResult = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\TemporaryData");
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("TemporaryData Key not deleted"), TEXT("CleanReg"), MB_OK);
}
#endif
lDeleteRegResult = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager");
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("OCManager Key not deleted"), TEXT("CleanReg"), MB_OK);
}
#endif
lDeleteRegResult = RegFlushKey(HKEY_LOCAL_MACHINE);
#ifdef DEBUG
if (lDeleteRegResult != ERROR_SUCCESS) {
MessageBox(NULL, TEXT("Registry not flushed sucessfully"), TEXT("CleanReg"), MB_OK);
}
#endif
}