Catégorie < windows >
1FORMATIK.com
Espace ~public
© 1998 - 2024
Sommaire
Information
Solution pour bouger la souris automatiquement
Les logiciels qui bougent la souris automatiquement en télétravail sont principalement utilisés pour simuler votre activité, même lorsque vous n'êtes pas physiquement présent devant votre ordinateur. L'idée derrière cette pratique est de maintenir une apparence d'activité sur la machine.
Pour bouger la souris automatiquement, avec Windows, on peut utiliser PowerShell. PowerShell est un langage de script développé par Microsoft et il est par défaut intégré à totes les versions récentes de Windows.
Le logiciel PowerShell que je vous propose est décliné en deux versions :
Les deux logiciels PowerShell sont gratuits.
Pour ceux d'entre vous qui ne sont pas à l'aise avec PowerShell, ou bien qui ne réussissent pas à faire fonctionner PowerShell sur leur PC, j'ai développé une autre version du logiciel avec DotNet. Celle-ci est explicitée et peut être téléchargée à la fin du tutoriel.
Il est important de noter que l'utilisation de mon logiciel soulève quelques questions éthiques, et il n'est surement pas autorisé pas votre entreprise.
Il y a fort à parier que si vos employeurs s'aperçoivent que vous utilisez un tel logiciel, ils considéreront cela comme une violation de confiance et une faute grave.
Vidéo illustrative via YouTube
Code source du script PS1
Mon logiciel fait bouger automatiquement la souris de manière circulaire sur l'écran selon des plages horaires que vous pouvez spécifier. Il offre ainsi un moyen de détourner l'éventuel flicage d'activité de vos employeurs lorsque vous êtes en télétravail.
Voici le code source du script PowerShell.
# Désactive la mise en veille de l'ordinateur et des écrans
powercfg /change standby-timeout-ac 0
powercfg /change monitor-timeout-ac 0
# Charge le module Forms de PowerShell
Add-Type -AssemblyName System.Windows.Forms
# Définit les constantes nécessaires
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class MouseInput {
[DllImport("user32.dll", SetLastError = true)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, IntPtr dwExtraInfo);
public const uint MOUSEEVENTF_LEFTDOWN = 0x0002;
public const uint MOUSEEVENTF_LEFTUP = 0x0004;
}
"@
# Fonction pour effectuer un clic gauche
function SimulerClicGauche {
[MouseInput]::mouse_event([MouseInput]::MOUSEEVENTF_LEFTDOWN, 0, 0, 0, [System.IntPtr]::Zero)
Start-Sleep -Milliseconds 100 # Ajustez la durée si nécessaire
[MouseInput]::mouse_event([MouseInput]::MOUSEEVENTF_LEFTUP, 0, 0, 0, [System.IntPtr]::Zero)
}
# Récupère la fenêtre PowerShell actuelle
$consoleWindow = [System.Windows.Forms.Screen]::FromHandle((Get-Process -Id $PID).MainWindowHandle).Bounds
Write-Host "Logiciel anti-flicage télétravail sans plages horaires version 1.1"
Write-Host "Code par Antoine @ 1formatik.com"
Write-Host "--------------------------------------------------"
Write-Host "Pour arrêter le logiciel lorsque la souris bouge, maintenez la touche CTRL et appuyez sur la touche C"
while ($true) {
$centerX = $consoleWindow.Left + ($consoleWindow.Width / 2)
$centerY = $consoleWindow.Top + ($consoleWindow.Height / 2)
$angle = 0
$radius = 75 # Rayon du cercle (demi-diamètre)
while ($angle -lt 360)
{
$x = [math]::sin($angle * [math]::PI / 180) * $radius
$y = [math]::cos($angle * [math]::PI / 180) * $radius
$x += $centerX
$y += $centerY
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point([math]::Round($x), [math]::Round($y))
# Vérifie si la touche CTRL+C est enfoncée pour arrêter le script
if ([Console]::KeyAvailable)
{
$key = [Console]::ReadKey($true)
if ($key.Key -eq 'C' -and $key.Modifiers -eq 'Control')
{
Write-Host "Arrêt du script."
return
}
}
Start-Sleep -Milliseconds 10
$angle += 1
}
# Envoie le clic gauche à la fin de la rotation complète
Start-Sleep -Milliseconds 100
SimulerClicGauche
Start-Sleep -Milliseconds 10000
}
Voici une explication des principales fonctions :
$matinDebut = Read-Host "Entrez l'heure de début pour la plage horaire du matin (par exemple, 9h00)"
$matinFin = Read-Host "Entrez l'heure de fin pour la plage horaire du matin (par exemple, 12h30)"
$apresmidiDebut = Read-Host "Entrez l'heure de début pour la plage horaire de l'après-midi (par exemple, 14h00)"
$apresmidiFin = Read-Host "Entrez l'heure de fin pour la plage horaire de l'après-midi (par exemple, 17h30)"
if (($var_heureActuelle -lt $var_matinDebut -or $var_heureActuelle -ge $var_matinFin) -and ($var_heureActuelle -lt $var_apresmidiDebut -or $var_heureActuelle -ge $var_apresmidiFin)) {
# Si on est en dehors des plages horaires, on attend 60 secondes avant de revérifier
Start-Sleep -Seconds 60
}
else {
# Si on est dans les plages horaires, on bouge la souris
$centerX = $consoleWindow.Left + ($consoleWindow.Width / 2)
$centerY = $consoleWindow.Top + ($consoleWindow.Height / 2)
$angle = 0
$radius = 75 # Rayon du cercle (demi-diamètre)
while ($angle -lt 360) {
$x = [math]::sin($angle * [math]::PI / 180) * $radius
$y = [math]::cos($angle * [math]::PI / 180) * $radius
$x += $centerX
$y += $centerY
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point([math]::Round($x), [math]::Round($y))
# Vérifie si la touche CTRL+C est enfoncée pour arrêter le script
if ([Console]::KeyAvailable) {
$key = [Console]::ReadKey($true)
if ($key.Key -eq 'C' -and $key.Modifiers -eq 'Control') {
Write-Host "Arrêt du script."
return
}
}
Start-Sleep -Milliseconds 10 # Ajuste la durée pour changer la vitesse du mouvement
$angle += 1
}
}
Télécharger le logiciel version PowerShell
Cliquez sur le lien ci-contre pour télécharger le fichier archive au format ZIP.
Il contient les fichiers suivants :
Une fois les fichiers dézippés, effectuez un clic-droit sur le fichier ps1, puis sélectionnez Exécuter avec PowerShell.
Télécharger le logiciel version DotNet
Comme évoqué précédement, j'ai développé une seconde version du logiciel avec DotNet.
Pour fonctionner, la dernière version de Microsoft .NET doit être installée sur votre PC Windows.
Par ailleurs mon logiciel ne dispose pas de certificat de code (certificat payant), donc lorsque vous cliquerez sur le fichier EXE, windows vous dira que l'application a été bloquée car elle provient d'un éditeur non reconnu (moi). Cliquez sur informations complémentaires puis Exécuter quand même pour outre-passer cet avertissement.
Aperçu du logiciel version .NET
Cliquez sur le lien ci-contre pour télécharger le fichier archive au format ZIP.
Il contient un dossier qui contient lui-même les fichiers suivants :
Une fois le fichier ZIP ouvert, glissez le dossier sur votre bureau (ou ailleurs), double cliquez le fichier TELETRAVAIL.exe.
Ce contenu vous a-t-il été utile ?
Autres publications dans la catégorie <windows>