Example:
Code: |
unit Unit1;
interface
uses Windows, Messages, {...}, Wtsapi;
type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } FRegisteredSessionNotification : Boolean; procedure AppMessage(var Msg: TMSG; var HAndled: Boolean); end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.AppMessage(var Msg: TMSG; var Handled: Boolean); var strReason: string; begin Handled := False; // Check for WM_WTSSESSION_CHANGE message if Msg.Message = WM_WTSSESSION_CHANGE then begin case Msg.wParam of WTS_CONSOLE_CONNECT: strReason := 'WTS_CONSOLE_CONNECT'; WTS_CONSOLE_DISCONNECT: strReason := 'WTS_CONSOLE_DISCONNECT'; WTS_REMOTE_CONNECT: strReason := 'WTS_REMOTE_CONNECT'; WTS_REMOTE_DISCONNECT: strReason := 'WTS_REMOTE_DISCONNECT'; WTS_SESSION_LOGON: strReason := 'WTS_SESSION_LOGON'; WTS_SESSION_LOGOFF: strReason := 'WTS_SESSION_LOGOFF'; WTS_SESSION_LOCK: strReason := 'WTS_SESSION_LOCK'; WTS_SESSION_UNLOCK: strReason := 'WTS_SESSION_UNLOCK'; WTS_SESSION_REMOTE_CONTROL: begin strReason := 'WTS_SESSION_REMOTE_CONTROL'; // GetSystemMetrics(SM_REMOTECONTROL); end; else strReason := 'WTS_Unknown'; end; // Write strReason to a Memo Memo1.Lines.Add(strReason + ' ' + IntToStr(msg.Lparam)); end; end;
procedure TForm1.FormCreate(Sender: TObject); begin // register the window to receive session change notifications. FRegisteredSessionNotification := RegisterSessionNotification(Handle, NOTIFY_FOR_THIS_SESSION); Application.OnMessage := AppMessage; end;
procedure TForm1.FormDestroy(Sender: TObject); begin // unregister session change notifications. if FRegisteredSessionNotification then UnRegisterSessionNotification(Handle); end;
procedure TForm1.Button1Click(Sender: TObject); begin // retrieve current session ID ShowMessage(Inttostr(GetCurrentSessionID)); end; |
- << Назад
- Вперёд
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!