Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
prog:lazarus:compilateur:modeadmin [05/06/2023 17:37]
thierry [Compiler pour executer en mode Admin]
prog:lazarus:compilateur:modeadmin [05/06/2023 18:07] (Version actuelle)
thierry [Quelques fonctions]
Ligne 6: Ligne 6:
 ===== Quelques fonctions ===== ===== Quelques fonctions =====
   * ''​WinUtils.IsWindowsAdmin''​ renvoie True si l'​utilisateur Windows actuellement connecté dispose des droits d'​administrateur. ​   * ''​WinUtils.IsWindowsAdmin''​ renvoie True si l'​utilisateur Windows actuellement connecté dispose des droits d'​administrateur. ​
 +
 +===== Vérifier si le programme est exécuté en mode Admin =====
 +<code delphi>
 +program CheckAdminMode;​
 +
 +uses
 +  Windows;
 +
 +function IsAdmin: Boolean;
 +var
 +  hToken: THandle;
 +  TokenInformation:​ TOKEN_ELEVATION;​
 +  ReturnLength:​ DWORD;
 +begin
 +  Result := False;
 +
 +  if OpenProcessToken(GetCurrentProcess,​ TOKEN_QUERY,​ hToken) then
 +  begin
 +    if GetTokenInformation(hToken,​ TokenElevation,​ @TokenInformation,​ SizeOf(TOKEN_ELEVATION),​ ReturnLength) then
 +      Result := TokenInformation.TokenIsElevated <> 0;
 +
 +    CloseHandle(hToken);​
 +  end;
 +end;
 +
 +begin
 +  if IsAdmin then
 +    writeln('​Le programme est exécuté en mode administrateur.'​)
 +  else
 +    writeln('​Le programme n''​est pas exécuté en mode administrateur.'​);​
 +
 +  readln;
 +end.
 +</​code>​
 +
  
 ====== Sources & Ressources ====== ====== Sources & Ressources ======