O cliente agora monitora **eventos reais de logon/logoff do Windows** usando o Windows Event Log, não apenas quando o NoIdle inicia/fecha.
## Como funciona
1.**Monitoramento do Event Log**: O cliente lê o log de segurança do Windows a cada 60 segundos
2.**Eventos detectados**:
- **Evento 4624**: Logon bem-sucedido
- **Evento 4634**: Logoff bem-sucedido
- **Evento 4647**: Logoff iniciado pelo usuário
## Permissões necessárias
⚠️ **IMPORTANTE**: Para ler o Event Log de segurança, o NoIdle precisa rodar com **permissões elevadas** ou o usuário precisa ter permissão para ler o log de segurança.
### Opção 1: Executar como Administrador (Recomendado)
1. Clique com botão direito no `NoIdle.exe`
2. Selecione "Executar como administrador"
3. Ou configure para sempre executar como admin:
- Clique com botão direito → Propriedades → Compatibilidade
- Marque "Executar este programa como administrador"
### Opção 2: Dar permissão ao usuário (Avançado)
Se não quiser executar como admin, pode dar permissão específica:
1. Abra o **Editor de Política de Grupo Local** (`gpedit.msc`)
2. Navegue até: **Configuração do Computador → Configurações do Windows → Configurações de Segurança → Políticas Locais → Atribuição de Direitos do Usuário**
3. Encontre: **"Gerar auditorias de segurança"**
4. Adicione o usuário ou grupo que executa o NoIdle
## Verificação
Após atualizar o cliente:
1.**Faça logoff do Windows** (Win + L, depois logoff)
🔐 Evento de sessão: logon - [device_id] (username)
🔐 Evento de sessão: logoff - [device_id] (username)
```
## Método alternativo
Se o Event Log não estiver acessível (sem permissões), o cliente usa um método alternativo que detecta mudanças de sessão. Este método é menos preciso, mas ainda funciona.
## Dependências
O código usa:
-`win32evtlog`: Para ler o Event Log do Windows
-`win32evtlogutil`: Para formatar mensagens de eventos
Essas bibliotecas já estão incluídas no `pywin32`, que deve estar nas dependências do projeto.