Simule Cliques de Mouse e Digitação no Teclado

Para realizar simulações de atividade (como evitar o bloqueio de tela ou automatizar rotinas simples em laboratórios de teste) utilizando apenas um arquivo .bat sem deixar registros permanentes no Windows, a melhor abordagem é o uso de um script híbrido de Batch com PowerShell. Essa técnica executa comandos do PowerShell diretamente em segundo plano a partir do arquivo de lote. Como o processo roda exclusivamente enquanto a janela do prompt estiver ativa ou executando o loop de comandos, ele não cria tarefas agendadas e não deixa rastros no Agendador de Tarefas do Windows após ser encerrado.

Utilizar essa abordagem é extremamente útil por diversos motivos práticos. Ela garante total discrição e privacidade, sendo ideal para ambientes restritos onde não é permitido ou desejável poluir o sistema com tarefas agendadas permanentes ou softwares de terceiros. Oferece também alta portabilidade, pois todo o código fica contido em um único arquivo de texto com extensão .bat, podendo ser facilmente transportado em um pendrive ou executado em diferentes máquinas sem instalação prévia. Além disso, dispensa ferramentas externas complexas ao aproveitar os recursos nativos do próprio sistema operacional, garantindo simplicidade de controle, já que o encerramento é imediato bastando fechar a janela do prompt de comando para que todas as ações e instâncias em segundo plano sejam interrompidas instantaneamente.


@echo off
title Simulador de Atividade
echo Pressione CTRL+C no prompt de comando para encerrar o script.
echo Executando simulacao de mouse e teclado...

powershell -NoProfile -Command "^
$signature = '[DllImport(\"user32.dll\")] public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);';^
$sys = Add-Type -MemberDefinition $signature -Name 'Win32Mouse' -Namespace 'Win32' -PassThru;^
$wshell = New-Object -ComObject Wscript.Shell;^
while($true) {^
    [Win32.Win32Mouse]::mouse_event(0x0001, 1, 1, 0, 0);^
    Start-Sleep -Seconds 1;^
    [Win32.Win32Mouse]::mouse_event(0x0001, -1, -1, 0, 0);^
    Start-Sleep -Seconds 29;^
    $wshell.SendKeys('{F15}');^
}^
"
pause