Code source
Code source

  Présentation
  Unités exemple gratuites
  Unités commercialisées
  Conditions d'utilisation
  Comment acheter
  Vendez vos codes
Unités commercialisées

  LRJ_DosDevice
  LRJ_FileMapped
  LRJ_ModifDateTime
  LRJ_ShellUtils
  LRJ_TokenAPI
  LRJ_WinACL
  LRJ_WinBrowseDialog
  LRJ_WinCreateProcess
  LRJ_WinDesktop
  LRJ_WinDirectories
  LRJ_WinDocRecents
  LRJ_WinDrives
  LRJ_WinFavorisWeb
  LRJ_WinFiles
  LRJ_WinIconNotifArea
  LRJ_WinInternetShortcut
  LRJ_WinMenuFolder
  LRJ_WinModule
  LRJ_WinNetApi
  LRJ_WinNetLocalGroups
  LRJ_WinNetUsers
  LRJ_WinPrivileges
  LRJ_WinProcess
  LRJ_WinRecycleBin
  LRJ_WinRegion
  LRJ_WinRegAppPath
  LRJ_WinShellLink
  LRJ_WinShellUI
  LRJ_WinSID
  LRJ_WinStation
  LRJ_WinTokenGroups
  LRJ_WinTrackChangeDir
  LRJ_WinVolumes
  LRJ_WinWorkingSet

   Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact   

Code source : unité LRJ_WinPrivileges




      
Description : cette unité contient les objets TWinPrivilege et TWinPrivileges. TWinPrivilege permet d'activer, de désactiver ou de supprimer un privilège associé à un token Windows et TWinPrivileges contient une liste d'objet TWinPrivilege correspondant aux privilèges associés à un token Windows.

L'unité est livrée avec une application de démonstration ( voir description plus loin ) qui utilise les fonctionnalités des objets contenus dans l'unité. Les codes de l'application sont livrés avec l'unité pour illustrer comment utiliser les objets de cette unité.

L'unité LRJ_WinPrivileges met en oeuvre les fonctions de Windows suivantes :
             AdjustTokenPrivileges
CloseHandle
GetTokenInformation
LookupPrivilegeDisplayName
LookupPrivilegeName
LookupPrivilegeValue
OpenProcessToken

Déclarations publiques de l'unité  I  Télécharger l'application de démonstration  I  Exemples d'utilisations

Utilise les unités : Windows, LRJ_ClassesPlus et LRJ_TokenAPI .

Version : 1.2 du 20.06.2009
Auteur : Laurent Hède
Copyright : LorenJo

Nombre de lignes : 491

Réalisée sous : Delphi 6

Systèmes compatibles : NT4, 2000, XP, Vista, serveurs

Prix : 103.00 € H.T.

Déclarations publiques de l'unité :

unit LRJ_WinPrivileges;
    
interface

                       Uses
                       Windows,
                       LRJ_ClassesPlus,
                       LRJ_TokenAPI;

   ........

    //------------OBJET----------------------------
TWinPrivilege = class(TObject)
   ........
   procedure ResetInitalEnableState;
   Property Name: string read GetName;
   property DisplayName: string read GetDisplayName;
   Property PrivilegeType: LRJ_TTypeWinPrivilege read GetType;
   Property Attributs: LRJ_TSetOfAttribPrivilege read GetAttributs;
   property Enabled: boolean read GetEnabled write SetEnabled;
   end;//-----------FIN--------------------------

   // Si on ne passe pas de token à TWinPrivilege, TWinPrivilege utilise par défaut OpenProcessToken
   // pour ouvrir un token lorqu'on a besoin d'un token.
    //------------OBJET----------------------------
TWinPrivileges = class(TObject)
   ........
   procedure EnablePrivilege(const ATypePrivilege: LRJ_TTypeWinPrivilege);
   procedure DisablePrivilege(const ATypePrivilege: LRJ_TTypeWinPrivilege);
   procedure EnableAllPrivileges;
   procedure DisableAllPrivileges;
   function RemovePrivilege(const ATypePrivilege: LRJ_TTypeWinPrivilege): boolean; // à partir de serveur 2003 et vista
   procedure ResetInitalEnableStatePrivileges;
   procedure Refresh;
   function Find(const ATypePrivilege: LRJ_TTypeWinPrivilege): TWinPrivilege;
   function Exist(const ATypePrivilege: LRJ_TTypeWinPrivilege): boolean;
   function PrivilegeValue(const ATypePrivilege: LRJ_TTypeWinPrivilege): TLargeInteger;
   property Count: Integer read GetCountPrivilege;
   property Token: THandle read GetToken Write SetToken;
   property Privileges[const Index: DWORD] : TWinPrivilege read GetPrivilege;
   property SystemName: String read MOSystemName write MOSystemName;
   end;//-----------FIN--------------------------


Application de démonstration

L'application de démonstration liste les privilèges de son processus. Ce sont les privilèges associés au token associé à l'utilisateur authentifié de la session dans laquelle cette application de démonstration est ouverte.
Le bouton 'Refresh' permet de mettre à jour la liste des privilèges du processus de l'application de démonstration.
Le bouton 'Set changes' active ou désactive les privilèges de la liste selon qu'ils sont cochés (activés) ou décochés (désactivés).
Le bouton 'Enabled all' active tous les privilèges.
Le bouton 'Disable all' désactive tous les privilèges.
Le bouton 'Reset enabled states' remet les privilèges dans l'état initial dans lequel ils étaient à l'ouverture de l'application de démonstration.


Exemples d'utilisations

Activer le privilège SeShutdownPrivilege pour lancer une fermeture de session ou l'extinction du PC.
var
   zPrivileges: TWinPrivileges;
begin
zPrivileges := TWinPrivileges.Create;
zPrivileges.EnablePrivilege(TWP_SHUTDOWN_NAME);
// Lancer la procédure de fermeture de session ou du PC
zPrivileges.ResetInitalEnableStatePrivileges;
zPrivileges.Free;
end;

Vous n'avez pas trouvé d'exemple répondant à votre problématique ?
Cliquez sur ce lien.


 Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact 
Copyright © LorenJo 2000-2009    Notice légale