Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

Registry HK_LM ReadOnly ohne Adminrechte ?

  Alt 9. Mär 2012, 09:38
Hallo Leute,

ich versuche gerade unter Win7 64Bit, einen Wert unter :
[SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserLis t] zu Lesen.
Das ich ohne Admin-Rechte dort nicht Schreiben kann ist mir klar, aber Lesen sollte doch wohl gestattet sein ?!

Mein Code:
Delphi-Quellcode:
function HiddenUserAccountExist : Boolean;
const
   cRegKey = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList';
   cKEY_WOW64_64KEY = $0100; // Notwendig, weil dieses Projekt noch unter D7 "läuft"

var Reg : TRegistry;
begin
  Result := False;
  Reg := TRegistry.Create(KEY_READ or cKEY_WOW64_64KEY);
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.Access := KEY_READ or cKEY_WOW64_64KEY; // normal zum Test manuell setzen, aber Access-Wert ist davor auch schon derselbe
    if Reg.KeyExists(cRegKey) then begin
      if Reg.OpenKeyReadOnly(cRegKey) then begin
      //if Reg.OpenKey(cRegKey,false) then begin // auch OpenKey Variate nützt nichts, denn KeyExists steigt vorher schon mit false aus
        Result := Reg.ValueExists('SomeUserName');
        Reg.CloseKey;
      end
      else begin
        OutputDebugString(PChar(SysErrorMessage(GetLastError)));
      end;
    end
    else
      OutputDebugString(PChar('"'+cRegKey+'" nicht vorhanden'));
      // Landet jetzt immer hier, obwohl der Key definitiv existiert ...
  finally
    Reg.Free;
  end;
end;
Habe ich irgendeinen Fehler den ich gerade übersehe ?
Oder ist LOCAL_MACHINE wirklich ohne Adminrechte nicht mehr verfügbar ?
Ich möchte doch "nur" überprüfen, ob ein bestimmer versteckter Benutzeraccount existiert ...

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.

Geändert von DataCool ( 9. Mär 2012 um 10:40 Uhr) Grund: zweite Erweiterung des Source
  Mit Zitat antworten Zitat