mirror of https://github.com/lianthony/NT4.0
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.
90 lines
2.1 KiB
90 lines
2.1 KiB
//-------------------------------------------------------------------
|
|
//
|
|
// FILE: LicBvtRm.Cpp
|
|
//
|
|
// Summary;
|
|
// The License Setup Remote Routines BVT
|
|
//
|
|
// Notes;
|
|
//
|
|
// History
|
|
// 4/25/95 MikeMi Created
|
|
//
|
|
//-------------------------------------------------------------------
|
|
#include <windows.h>
|
|
|
|
#include <commctrl.h>
|
|
#include <stdio.h>
|
|
|
|
LONG RegDeleteKeyTree( HKEY hkeyParent, PCWSTR pszRemoveKey )
|
|
{
|
|
HKEY hkeyRemove;
|
|
LONG lrt;
|
|
|
|
// open the key we want to remove
|
|
lrt = RegOpenKeyEx( hkeyParent,
|
|
pszRemoveKey,
|
|
0,
|
|
KEY_ALL_ACCESS,
|
|
&hkeyRemove );
|
|
if (ERROR_SUCCESS == lrt)
|
|
{
|
|
WCHAR pszName[MAX_PATH];
|
|
DWORD cchBuffSize = MAX_PATH;
|
|
FILETIME FileTime;
|
|
|
|
// enum the keys children, and remove those sub-trees
|
|
//
|
|
while ( ERROR_NO_MORE_ITEMS != (lrt = RegEnumKeyEx( hkeyRemove,
|
|
0,
|
|
pszName,
|
|
&cchBuffSize,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
&FileTime ) ) )
|
|
{
|
|
lrt = RegDeleteKeyTree( hkeyRemove, pszName );
|
|
cchBuffSize = MAX_PATH;
|
|
}
|
|
RegCloseKey( hkeyRemove );
|
|
if ((ERROR_SUCCESS == lrt) ||
|
|
(ERROR_NO_MORE_ITEMS == lrt) )
|
|
{
|
|
lrt = RegDeleteKey( hkeyParent, pszRemoveKey );
|
|
}
|
|
}
|
|
return( lrt );
|
|
}
|
|
//-------------------------------------------------------------------
|
|
|
|
void PressNGo()
|
|
{
|
|
printf( "press enter to continue..." );
|
|
getchar();
|
|
printf( "\n" );
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
void _cdecl main( int argc, char *argv[ ], char *envp[ ] )
|
|
{
|
|
printf( "The RegTree Killer program\n" );
|
|
|
|
HKEY hkeySetup;
|
|
LONG lrt;
|
|
|
|
// open the key we want to remove
|
|
lrt = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
|
|
L"SYSTEM\\Setup",
|
|
0,
|
|
KEY_ALL_ACCESS,
|
|
&hkeySetup );
|
|
if (ERROR_SUCCESS == lrt)
|
|
{
|
|
lrt = RegDeleteKeyTree( hkeySetup, L"InfOptions" );
|
|
|
|
}
|
|
|
|
printf( "lrt = %d\n",lrt );
|
|
}
|