server-nutzer
Goto Top

Mauszeigerbewegung auf einen festlegbaren Bereich eingrenzen

Hallo Zusammen,

Ich würde gern mittels eines Tools oder wie auch immer den Bewegungsbereich eines Mauszeigers begrenzen.
Es geht um einen Präsentations-PC, wo Referenten den Mauszeiger insbesondere bei erweiterter Desktop-Darstellung oftmals aus dem Augen verlieren und die "Panik bekommen".
Das würde ich gern unterbinden.

Am schönsten wäre es, man könne den Pixelbereich des Bildschirmes mittels Pixel-Koordinaten festlegen (x1,y1,x2,y2) z.B. bei FullHD 20,25,1900,990.

Über eine "geheime" Tastenkombination oder "besonderer Klick" könnte man den Bereich verlassen.

Gibt es sowas?

LG Jörg

Content-Key: 393698

Url: https://administrator.de/contentid/393698

Printed on: April 27, 2024 at 04:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Nov 23, 2018 at 15:39:47 (UTC)
Goto Top
Member: Server-Nutzer
Server-Nutzer Nov 23, 2018 at 16:24:34 (UTC)
Goto Top
Danke für den Link.

Für andere Szenarien, ok. Aber ich will nicht den Cursor auf Tastendruck auf den Bildschirm-Center springen lassen oder hervorheben, sondern den Bewegungsbereich einschränken.

In einer Vortragssituation wird der Referent nicht an die Tastenkombi denken, auch wenn es am Schirm steht.
Und mein Hintergedanke ist folgender: Ein UltraVNC-Client-Fenster oder -Vollbild soll vom Referenten nicht verlassen werden können, noch soll er an die Bedienknöpfe des UltraVNC-Clients kommen. Es ist quasi eine Remote-PräsentationsPC-Mimik, die "idiotensicher" sein soll.
Mitglied: 137846
Solution 137846 Nov 23, 2018 updated at 17:00:37 (UTC)
Goto Top
EInfaches AutoIt Skript zur Exe kompiliert:
#NoTrayIcon
; VARs
global $mausX,$mausY,$minX,$maxX,$minY,$maxY
; Koordinaten festlegen die für die Maus erlaubt sind
; Rand festlegen der nicht genutzt werden soll
$rand = 20
; minimal X
$minX = $rand
; maximal X
$maxX = @DesktopWidth - $rand
; minimal Y
$minY = $rand
; maximal Y
$maxY = @DesktopHeight - $rand

; Hotkey to exit app = SHIFT+ESC
HotKeySet("+{ESC}","exitapp")  

;LOOP
While 1
	; speichere aktuelle Position
	$mausX = MouseGetPos(0)
	$mausY = MouseGetPos(1)
	; prüfe minX
	if $mausX < $minX then
		MouseMove($minX,$mausY,0)
	Endif
	; prüfe maxX
	if $mausX > $maxX then
		MouseMove($maxX,$mausY,0)
	Endif
	; prüfe minY
	if $mausY < $minY then
		MouseMove($mausX,$minY,0)
	Endif
	; prüfe maxY
	if $mausY > $maxY then
		MouseMove($mausX,$maxY,0)
	Endif
	; sleep in ms zwischen den Abfragen
	sleep(50)
WEnd
; Funktion zum Verlassen der App
func exitapp()
	exit 0
EndFunc

Gruß A.
Member: Server-Nutzer
Server-Nutzer Nov 23, 2018 at 17:22:33 (UTC)
Goto Top
Ist ja cool, answer!

Da habe ich nächste Woche gleich was zum Durchtesten!

Danke Dir!

LG Jörg
Member: Server-Nutzer
Server-Nutzer Nov 23, 2018 at 18:22:31 (UTC)
Goto Top
Das hat mir jetzt keine Ruhe gelassen, ich wollte das sofort testen.

Geht wunderbar!

Danke für die schöne Lösung.