|
|
|

| | | | | | | | |  |
 | 
 | 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.
|
|
 |
 | |  |
|
|