Como você bloqueia o computador quando o monitor está desligado, mas a energia não está desligada no Windows Vista?

1

Eu tenho uma configuração de gerenciamento de energia (configurada através do Painel de Controle) que desliga o monitor após 5 minutos de inatividade, mas mantém a energia ligada o tempo todo, se o laptop estiver conectado à energia. Sob essa configuração, no entanto, o computador não se bloqueia e se torna vulnerável a qualquer tentativa de transeunte para fazer o login, se eu não estiver por perto.

Existe alguma maneira de forçar o bloqueio nessa situação? (Eu posso forçar bloqueio se eu tiver o laptop vai dormir, mas para o acesso imediato eu gostaria de manter a energia ligada quando o laptop está ligado à energia.)

    
por Anon 03.07.2013 / 11:04

3 respostas

4

Bloqueie o Windows usando a tecla do logotipo do Windows L ao sair do computador ... Concluído!

    
por 03.07.2013 / 12:29
4

Você pode usar o protetor de tela que só pode ser desativado com uma senha:

  • No menu Iniciar, clique em Painel de controle.
  • Clique em Vídeo e, em seguida, clique em Proteção de tela.
  • Na caixa Aguarde, escolha 5 minutos
  • Clique em Reiniciar, proteja com senha e, em seguida, clique em OK.
por 03.07.2013 / 11:13
2

Para isso, criei um pequeno script AutoIt. Ele funciona em loop, periodicamente atingindo o valor da função _Timer_GetIdleTime() de Timers.au3 , se ele ficar maior que um determinado período de tempo, o script executa tsdiscon.exe e o PC sai para a tela de boas-vindas.

Aqui está o código que usei:

#include <Timers.au3>

const $setpoint = 900000 ; switch by idle time setpoint 900000 ms = 15 minutes
const $interval = 60000 ; check interval 60000 ms = 1 minute
const $tsdisconpath = "C:\WINDOWS\System32\tsdiscon.exe" ; specify the actual path for your OS, this might need to be changed
; eg on my Win 7 HB x64 the file full path is C:\WINDOWS\winsxs\amd64_microsoft-windows-t..es-commandlinetools_31bf3856ad364e35_6.1.7601.17514_none_42d65ed50fa3c682\tsdiscon.exe

$disconnected = false
$idle = 0
while true
    $prev = $idle
    $idle = _Timer_GetIdleTime()
    if $disconnected and $prev > $idle then ; user has logged in again
        $disconnected = false ; reset state
    endif
    if $idle > $setpoint and not $disconnected then
        run($tsdisconpath, "") ; exit to welcome screen
        sleep(10000)
        $disconnected = true
        $idle = 0
    endif
    sleep($interval)
wend

Você precisa especificar o caminho real para o arquivo tsdiscon.exe em seu sistema operacional. Eu compilei este código para exe com Aut2Exe (disponível tanto na instalação completa quanto no AutoIt portátil), e coloquei em execução automática. A versão AutoIt foi 3.3.8.1.
Se você deseja sair para a tela de bloqueio, em vez da tela de boas-vindas, use

const $tsdisconpath = "RunDll32.exe user32.dll,LockWorkStation

Uma mosca em uma pomada. Eu tenho que dizer sobre as desvantagens mesquinhas do roteiro que você pode encontrar. Normalmente você não toca no mouse nem no teclado enquanto assiste a filmes, então o roteiro sairá de repente no setpoint, e o filme continuará a reprodução. Também percebi que quando eu acordava o PC após a hibernação e fazia o login, por algum motivo o script detectava que o tempo estava fora e saiu.

    
por 03.09.2015 / 21:22