Hallo Zusammen!
Ich habe ein Problem im Zusammenhang mit Windows 8 und einem Touchscreen.
Und zwar möchte ich einen Event setzen, der ausgelöst wird, sobald die Maustaste bzw. der Touchbildschirm gedrückt wird.
Ich verwende untenstehenden Code.
[autoit]
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
Global $hGUI1 = GUICreate("Test", 800, 600)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $hGUI1)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_MouseClick", $hGUI1)
GUISetState(@SW_SHOW)
While True
Sleep(500)
WEnd
Func _MouseClick()
MsgBox(64,"info","click")
EndFunc
Func _Exit()
Exit
EndFunc
Der funktioniert auch einwandfrei, wenn ich mit einer "normalen" Maus klicke.
Wennn ich jedoch auf dem Touchscreen tippe (Finger) oder mit dem Touchpen auf den Bildschirm drücke, dann passiert nichts.
Das heisst, wenn ich einen Doppelklick auf den Bildschirm mache, erst dann wird die Funktion "_MouseClick" ausgeführt. Doch ein Doppelklick ist auf einem Touchgerät etwas schwieriger, als mit einer Maus!
Klar, es gibt andere Codes hier im Forum, die einen Maushook setzen. Das habe ich getestet und es funktioniert sogar mit Touch. Aber dies ist halt sehr ressourcenhungrig.
Deshalb hier meine Frage: Warum läuft der Befehl GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_MouseClick", $hGUI1) nicht mit einem einfachen Klick auf dem Touch? Der Clou ist ja, dass die Funktion "$GUI_EVENT_Close" auf auf dem Touch mit einem einfachen Klick funktioniert!
Gruss Veronesi