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_WinStation




      
Description : cette unité contient les objets LRJ_TWinStation et LRJ_TWinStationList. LRJ_TWinStation permet ouvrir ou de créer une Windows Station et d'extraire des informations sur cette Windows Station et LRJ_TWinStationList liste les Windows Stations ouvertes sous 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'application de démonstration utilise les unités LRJ_GridsPlus et LRJ_WinSID non livrées avec l'application.

L'unité LRJ_WinStation met en oeuvre les fonctions de Windows suivantes :
             CreateWindowStation
EnumWindowStations
GetUserObjectInformation
GetUserObjectSecurity
OpenWindowStation
SetUserObjectInformation
SetUserObjectSecurity

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

Utilise les unités : Windows et LRJ_ClassesPlus .

Version : 1.1 du 17.05.2009
Auteur : Laurent Hède
Copyright : LorenJo

Nombre de lignes : 392

Réalisée sous : Delphi 6

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

Prix : 92.00 € H.T.

Déclarations publiques de l'unité :

unit LRJ_WinStation;

interface
                    Uses
                    Windows,
                    LRJ_ClassesPlus;

   .........

    // Se charge par les Open ou Create. Consulter la doc Windows sur les WinStations pour les propriétés et
    // l'utilisation des fonctionnalités
    //------------OBJET----------------------------
LRJ_TWinStation = class(TObject)
   .........
   function Open(const InheritedHandle: boolean; const AccesRights: DWORD = MAXIMUM_ALLOWED): boolean; overload;
   function Open(const AName: string; const InheritedHandle: boolean; const AccesRights: DWORD = MAXIMUM_ALLOWED): boolean; overload;
   function OpenProcessStation: boolean;
   function CreateWinStation(const AccesRights: DWORD; const SecurityAttributes: PSecurityAttributes): boolean; overload;
   function CreateWinStation(const AName: string; const AccesRights: DWORD; const SecurityAttributes: PSecurityAttributes): boolean; overload;
   function SetProcessWindowStation: boolean;
   function SetUserObjectSecurity(var pSIRequested: DWORD; const pSID: PSecurityDescriptor): boolean;
   function GetUserObjectSecurity(var pSIRequested: DWORD; var pSID: PSecurityDescriptor): boolean; // Détruire
                                                                 // PSecurityDescriptor par FreeMem si result = true
   procedure Close;
   property IfOpen: boolean read GetIfOpen;
   property Handle: HWINSTA read GetOpenHandle;
   property Name: string read GetName write SetName;
   property TypeObject: string read GetTypeObject;
   property UserSID: PSID read GetUserSID;
   property InheritableHandle: boolean read GetInheritableHandle;
   property HasVisibleDisplaySurfaces: boolean read GetHasVisibleDisplaySurfaces write SetHasVisibleDisplaySurfaces;
   end;//-----------FIN--------------------------


   // Se charge lors de la création de l'objet. Utiliser Refresh que lorsqu'il y a un risque que de nouvelles
   // Winstation aient été chargées depuis la création de l'objet
    //------------OBJET----------------------------
LRJ_TWinStationList = class(TObject)
   .........
   procedure Refresh;
   function Count: integer;
   property WinStations[const Index: integer]: LRJ_TWinStation read GetWinStation;
   end;//-----------FIN--------------------------


Application de démonstration

Le ComboBox 'Windows Stations contient les Windows Stations ouvertes.
En sélectionnant une Windows Station dans le ComboBox, la grille se charge avec les informations récupérées sur la Windows Station.


Exemples d'utilisations

Charger la liste des Windows Stations dans un ComboBox
var
  zListWS: LRJ_TWinStationList;
  i: integer;
begin
zListWS := LRJ_TWinStationList.Create;
ComboBox1.Items.Clear;
ComboBox1.Items.BeginUpdate;
for i:=0 to zListWS.Count-1 do
  ComboBox1.Items.Add(zListWS.WinStations[i].Name);
ComboBox1.Items.EndUpdate;
zListWS.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