Windows - terminal service obter informações

Top  Previous  Next

unit Unit5;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

 

type

  TForm5 = class(TForm)

    Memo1: TMemo;

    procedure FormCreate(Sender: TObject);

  private

    procedure Add(const v: string);

  public

  end;

 

var

  Form5: TForm5;

 

implementation

 

{$R *.dfm}

 

uses mLib;

 

function GetEnvVarValue(const VarName: string): string;

var

  BufSize: Integer;

begin

  BufSize := GetEnvironmentVariable(PChar(VarName), nil0);

  SetLength(Result, BufSize - 1);

  GetEnvironmentVariable(PChar(VarName),PChar(Result), BufSize);

  if BufSize = 0 then Result := '';

  Result := trim(result);

end;

 

procedure TForm5.Add(const v: string);

begin

  Memo1.Lines.Add(mStr.PadLeft(v, 15) + ': ' + GetEnvVarValue(v));

end;

 

procedure TForm5.FormCreate(Sender: TObject);

begin

  Memo1.Clear;

 

  if GetSystemMetrics($1000) <> 0 then

    Memo1.Lines.Add('- SESSÃO REMOTA DETECTADA -')

  else

    Memo1.Lines.Add('- SESSÃO LOCAL -');

 

  Add('ClientName');

  Add('SessionName');

  Add('UserName');

end;

 

end.

 

----------------

 

Exemplo de saída:

 

- SESSÃO REMOTA DETECTADA -

ClientName     : M01

SessionName    : RPD-12D##1

UserName       : Administrador