Como bloquear a estação de trabalho
O exemplo a seguir bloqueia a estação de trabalho usando a função LockWorkStation . O sistema exibe a caixa de diálogo Bloquear Estação de Trabalho . O texto da caixa de diálogo informa que a estação de trabalho está em uso e foi bloqueada pelo usuário.
#include <windows.h>
#include <stdio.h>
#pragma comment( lib, "user32.lib" )
void main()
{
// Lock the workstation.
if( !LockWorkStation() )
printf ("LockWorkStation failed with %d\n", GetLastError());
}
Para determinar se a estação de trabalho está bloqueada, teste se a janela está visível.
A estação de trabalho pode ser desbloqueada pelo usuário ou por um administrador. Para desbloquear o sistema, pressione Ctrl+Alt+Del e faça logon. Para receber notificação quando o usuário fizer logon, use a função WTSRegisterSessionNotification para se registrar para receber mensagens WM_WTSSESSION_CHANGE . Quando essa mensagem é recebida, marcar se o parâmetro wParam é igual a WTS_SESSION_LOCK.