[    esp***    HKLM,     ]
procedure CleanMonitorProvider;
var ListRegSearch : TStringList;
    i : Integer;
    FileName, RegKeyName : string;
begin
 ClearLog;
 RegSearch('HKLM', '', 'esp****.tmp'); //    esp*** -  *** \
 FileName := 'c:\avz00.log';
 SaveLog(FileName);
 ClearLog;
 ListRegSearch := TStringList.Create;
 ListRegSearch.LoadFromFile(FileName);
 AddToLog(' : ' + IntToStr(ListRegSearch.Count));
 for i := 0 to ListRegSearch.Count - 1 do
  begin
   RegKeyName := ListRegSearch.Strings[i];
   if Pos('\esp', RegKeyName) > 0 then
     begin
       Delete(RegKeyName, 1, Pos('\\', RegKeyName) + 1);
       Delete(RegKeyName, Pos(' Name=', RegKeyName), Length(RegKeyName));
       RegKeyDel('HKLM', RegKeyName);
       AddToLog('   HKLM\' + RegKeyName);
     end;
  end;
 ListRegSearch.Free;
 SaveLog('c:\avz01.log');
end;

begin
 CleanMonitorProvider;
end.