Sprawdzenie uprawnień przed zapisem do Rejestru HKEY_LOCAL_MACHINE

0

Witam,
chciałbym zapisać w rejestrze pliku HKEY_LOCAL_MACHINE\Moja aplikacja 1.0
w pliku StartingPath jakąś wartość (w przykładzie waartość podana w parametrze Path).

Ale potrzebne są do tego uprawnienia administratora.
Chciałbym sprawdzić czy użytkownik posiada takie uprawnienia, jeżeli tak to nastepuje zapis.
Jezeli nie to zapisuje wartość w pliku: HKEY_CURRENT_USER\Moja aplikacja 1.0.

Jak moge sprawdzić te uprawnienia??

 

procedure TForm1.WriteToRegistry(Path: String);
var
  Reg : TRegistry;
begin

  Reg := TRegistry.Create;
 {if uzytkownik ma uprawnienia then

  Reg.RootKey := HKEY_LOCAL_MACHINE;
  ZAPIS
  }
  else 
  begin
    if Reg.OpenKey('Moja aplikacja 1.0', True) then
    ShowMessage('Klucz otwarty!') else ShowMessage('Błąd!');

    Reg.WriteString('StartingPath', Path);
  end;
  Reg.Free;
end;
4

Możesz tam coś zapisać z poziomu instalatora aplikacji, to nie jest klucz do zapisywania dla wszystkich użytkowników, przyzwyczaj się, że na Windows jest separacja użytkowników i programuj zgodnie z tym, a nie szukaj obejść, które i tak pewno na nic Ci nie są potrzebne.

A co do funkcji to IsUserAnAdmin - https://msdn.microsoft.com/en-us/library/windows/desktop/bb776463(v=vs.85).aspx

0

albo spróbować zapisać i złapać wyjątek

0

zapisuj do CURRENT_USER, po co ci LOCAL_MACHINE?

1 użytkowników online, w tym zalogowanych: 0, gości: 1