From eb86a340c037bfa97bcb34ad10a96b6d7e732729 Mon Sep 17 00:00:00 2001 From: Flamur Veliqi Date: Mon, 26 Jan 2026 08:40:55 +0100 Subject: [PATCH] Added - Automatic Mouse Mover --- files/automatic-mouse-mover.bat | 155 ++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 files/automatic-mouse-mover.bat diff --git a/files/automatic-mouse-mover.bat b/files/automatic-mouse-mover.bat new file mode 100644 index 0000000..0dd74e1 --- /dev/null +++ b/files/automatic-mouse-mover.bat @@ -0,0 +1,155 @@ +@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 \ No newline at end of file