AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Debuggen als Administrator

Ein Thema von Codewalker · begonnen am 7. Nov 2006 · letzter Beitrag vom 7. Nov 2006
 
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Debuggen als Administrator

  Alt 7. Nov 2006, 09:08
Hallo,

dein Programm sollte sich die Rechte nach Start holen,
und zwar auch nur dann, wenn sie benötigt werden.
Spätestens ab Visa ist das eh Standard.
Also Bsp-weise für Setzen der Zeit.

Delphi-Quellcode:
if not SetPrivilege('SE_SYSTEMTIME_NAME', True) then
begin
  // logging
end;

try
  if SetLocalTime(tdtTime)=False then
  begin
    // logging ?
  end;
finally
  SetPrivilege('SE_SYSTEMTIME_NAME', False);
end;
Delphi-Quellcode:
{ Privileg setzen
  für Zeit muß SE_SYSTEMTIME_NAME übergeben werden }

function SetPrivilege(const sPrivilegeName: String;
  bEnabled : boolean): boolean;
var
 TPPrev,TP : TTokenPrivileges;
 Token : THandle;
 dwRetLen : DWord;
begin
 Result := False;

 try
  {$IFDEF VER90}
    { in Delphi2 ist OpenProcessToken mit PHandle deklariert }
   OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or
                                      TOKEN_QUERY,@Token);
  {$ELSE}
    { in > Delphi2 ist OpenProcessToken mit var THandle deklariert }
   OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or
                                      TOKEN_QUERY,Token);
  {$ENDIF}
   TP.PrivilegeCount := 1;
   if( LookupPrivilegeValue(Nil, PChar( sPrivilegeName ),
                                 TP.Privileges[ 0 ].LUID )) then
    begin
    if (bEnabled) then
     begin
     TP.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;
     end
    else
     begin
     TP.Privileges[ 0 ].Attributes :=0;
     end;
    dwRetLen := 0;
    Result := AdjustTokenPrivileges(Token,False,TP,SizeOf( TPPrev ),
                                   TPPrev,dwRetLen );
    end;
    CloseHandle( Token );
  except
  end;
end;

Heiko
Heiko
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz