Ich brauche mal wieder eine Idee.
Um den Energiesparmodus / Bildschirmschoner zu verhindern lasse ich regelmäßig die Maus bewegen.
Dazu dient das folgende 2 Minuten Programm:
#NoTrayIcon
AutoItSetOption("MustDeclareVars",1)
Local $a_CurrentMousePosition = MouseGetPos()
Local $i_Movespeed = 50
If $CmdLine[0] > 0 Then
$i_Movespeed = Round($CmdLine[1],0)
EndIf
If $i_Movespeed > 100 Then
$i_Movespeed = 100
EndIf
If $i_Movespeed < 0 Then
$i_Movespeed = 0
EndIf
If $i_Movespeed = 0 Then
MouseMove($a_CurrentMousePosition[0] + 1, $a_CurrentMousePosition[1] + 1, 0)
MouseMove($a_CurrentMousePosition[0], $a_CurrentMousePosition[1], 0)
Else
MouseMove($a_CurrentMousePosition[0], $a_CurrentMousePosition[1] + 100, $i_Movespeed)
MouseMove($a_CurrentMousePosition[0] + 100 , $a_CurrentMousePosition[1] + 100,$i_Movespeed)
MouseMove($a_CurrentMousePosition[0] + 100 , $a_CurrentMousePosition[1],$i_Movespeed)
MouseMove($a_CurrentMousePosition[0], $a_CurrentMousePosition[1], $i_Movespeed)
EndIf
Exit 0
Alles anzeigen
Einfach per F5 starten, wenn keine Parameter übergeben werden nimmt es Default-Werte. Ihr seht den Mauszeiger bewegen.
Ich habe das Programm kompiliert also .exe im gleichen Pfad wie mein Hauptprogramm liegen.
Das Hauptprogramm nutzt die Funktion _Timer_GetIdleTime() aus und startet ggf. per ShellExecute das obige Programm.
Damit meine Anwender sehen das was passiert bewege ich den Mauszeiger 100x100 Pixel im Quadrat.
Soweit, so gut.
Nun hätte ich gerne das sobald man die echte/reale Maus bewegt sich das Programm sofort beendet.
Blöd ist halt das wir ja den Mauszeiger gerade selbst bewegen ... ich hab es mal in einer Schleife mit Einzelschritten probiert ...
Ist natürlich ruckelig ... aber was Frage ich ab? Die Maus bewegt ja gerade das Programm ...
Ich könnte versuche eine Abweichung vom geplanten Pfad zu finden ... klingt aber nach Glückssache.
BLinz