Einzelnen Beitrag anzeigen

MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Ordnerzugriff besser machen?

  Alt 23. Sep 2018, 20:06
Scheint wohl nicht so einfach zu sein.
Ich habe jedenfalls was gefunden, um zu prüfen ob die Anwendung mit Admin Rechten läuft oder nicht
Code:
procedure TForm.Button1Click(Sender: TObject);
type
  TIsUserAnAdminFunc = function (): BOOL; stdcall;
var
  Shell32DLL: THandle;
  IsUserAnAdminFunc: TIsUserAnAdminFunc;
begin
  Shell32DLL := LoadLibrary('shell32.dll');
  try
    if Shell32DLL <> 0 then
    begin
      @IsUserAnAdminFunc := GetProcAddress(Shell32DLL, 'IsUserAnAdmin');
      if Assigned(@IsUserAnAdminFunc) then
        if IsUserAnAdminFunc then
          ShowMessage('Sie haben Adminrechte.')
          else ShowMessage('Keine Adminrechte.')
    end;
  finally
    FreeLibrary(Shell32DLL);
  end;
end;
Das ist ja schon mal was. Vielleicht für den einen oder anderen auch brauchbar. So kann ich dann in meinem Fall bei "System Volume Information" oder auch bei anderen Ordnern die Error 5 (im Admin Modus) zurück liefern, dem Benutzer nur ne Info geben (Zugriff verweigert) und nicht die Frage "Anwendung mit Admin-Rechten neu starten?" hinterlassen. Die Frage "Anwendung mit Admin-Rechten neu starten?" halt nur beim ersten Mal, wenn die Anwendung noch nicht mit Admin-Rechten läuft. Wäre dann zwar 1x überflüssig aber im nachhinein dann wenigstens zu unterscheiden.

@KodeZwerg Die Frage ist eigentlich "Also bevor ich die Anwendung mit Adminrechten neu starte, möcht ich wissen ob ein Ordner weiterhin 5 zurück gibt." Wie "Delphi.Narium" schon schrieb "Die Rechtevergabe der Ordner unterscheidet sich voneinander." Danke für die Links @Delphi.Narium. Da muss ich noch mal genau schauen.

Micha
  Mit Zitat antworten Zitat