Compartilhar via


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.