@echo off REM === Automatic Mouse Mover === setlocal enabledelayedexpansion echo ======================================== echo Automatic Mouse Mover echo ======================================== echo. echo This script will move your mouse cursor slightly echo to prevent screen lock or idle status. echo. echo ======================================== echo. REM Get interval :GET_INTERVAL set /p INTERVAL="Enter interval in seconds (3-10): " REM Validate interval if %INTERVAL% LSS 3 ( echo Invalid! Minimum is 3 seconds. goto GET_INTERVAL ) if %INTERVAL% GTR 10 ( echo Invalid! Maximum is 10 seconds. goto GET_INTERVAL ) echo. REM Get duration echo Duration options: echo [1] Continuous (press Ctrl+C to stop) echo [2] Specific duration in minutes echo. set /p DURATION_CHOICE="Select option (1-2): " if "%DURATION_CHOICE%"=="1" ( set DURATION_MINUTES=0 set DURATION_TEXT=Continuous ) else if "%DURATION_CHOICE%"=="2" ( set /p DURATION_MINUTES="Enter duration in minutes: " set DURATION_TEXT=!DURATION_MINUTES! minutes ) else ( echo Invalid selection! timeout /t 2 >nul goto GET_INTERVAL ) echo. echo ======================================== echo Configuration: echo - Interval: %INTERVAL% seconds echo - Duration: %DURATION_TEXT% echo - Movement: Random 1-5 pixels echo - Auto-pause when you move the mouse echo ======================================== echo. echo Press Ctrl+C to stop at any time. echo. pause cls echo Starting Mouse Mover... echo. REM Create PowerShell script file ( echo Add-Type -TypeDefinition @" echo using System; echo using System.Runtime.InteropServices; echo public class MouseMover { echo [DllImport("user32.dll"^)] echo public static extern bool SetCursorPos(int X, int Y^); echo [DllImport("user32.dll"^)] echo public static extern bool GetCursorPos(out POINT lpPoint^); echo public struct POINT { echo public int X; echo public int Y; echo } echo } echo "@ echo. echo $interval = %INTERVAL% echo $durationMinutes = %DURATION_MINUTES% echo $random = New-Object System.Random echo $startTime = Get-Date echo $moveCount = 0 echo. echo Write-Host "" echo Write-Host "========================================" -ForegroundColor Green echo Write-Host "Mouse Mover Active" -ForegroundColor Green echo Write-Host "========================================" -ForegroundColor Green echo Write-Host "" echo Write-Host "Monitoring mouse movement..." echo Write-Host "Press Ctrl+C to stop" echo Write-Host "" echo. echo $lastPos = New-Object MouseMover+POINT echo [void][MouseMover]::GetCursorPos([ref]$lastPos^) echo. echo while ($true^) { echo if ($durationMinutes -gt 0^) { echo $elapsed = ((Get-Date^) - $startTime^).TotalMinutes echo if ($elapsed -ge $durationMinutes^) { echo Write-Host "" echo Write-Host "Duration reached. Stopping..." -ForegroundColor Yellow echo break echo } echo } echo. echo $currentPos = New-Object MouseMover+POINT echo [void][MouseMover]::GetCursorPos([ref]$currentPos^) echo. echo if ($currentPos.X -ne $lastPos.X -or $currentPos.Y -ne $lastPos.Y^) { echo $lastPos = $currentPos echo $time = Get-Date -Format 'HH:mm:ss' echo Write-Host "[$time] User moved mouse - Paused" -ForegroundColor Cyan echo Start-Sleep -Seconds $interval echo continue echo } echo. echo $moveX = $random.Next(-5, 6^) echo $moveY = $random.Next(-5, 6^) echo $newX = $currentPos.X + $moveX echo $newY = $currentPos.Y + $moveY echo. echo [void][MouseMover]::SetCursorPos($newX, $newY^) echo $moveCount++ echo. echo $time = Get-Date -Format 'HH:mm:ss' echo Write-Host "[$time] Auto-moved mouse ($moveCount moves)" -ForegroundColor Green echo. echo [void][MouseMover]::GetCursorPos([ref]$lastPos^) echo. echo Start-Sleep -Seconds $interval echo } echo. echo Write-Host "" echo Write-Host "========================================" -ForegroundColor Yellow echo Write-Host "Mouse Mover Stopped" -ForegroundColor Yellow echo Write-Host "Total moves: $moveCount" -ForegroundColor Yellow echo Write-Host "========================================" -ForegroundColor Yellow ) > "%TEMP%\MouseMover.ps1" REM Execute PowerShell script powershell -ExecutionPolicy Bypass -File "%TEMP%\MouseMover.ps1" REM Cleanup del "%TEMP%\MouseMover.ps1" >nul 2>&1 echo. echo ======================================== echo Script finished echo ======================================== pause