| |
Suche Visual-Basic CodeBiete 100 EUR: Schnelle Mousedown-Events auf Touchscreen verzögern | | | Autor: kniht | Datum: 08.01.19 12:18 |
| Hallo zusammen,
ich suche ein kleines Tool, mit dem ich schnell hintereinanderfolgende Mausklicks unterbinden kann. Die Anwendung soll auf einem Touchscreen laufen, d.h. es geht hier nicht um eine Maus, sondern einen Finger/Touch. Der Touchscreen ist per USB an den PC (Windows 8) angeschlossen, ebenso die Maus. Ein entspr. Tool für die Maus funktioniert, aber -ich bin kein Programmierer- offensichtlich wird ein Touch-Event anders angesprochen als ein Mausevent.
Konkret soll damit verhindert werden, dass ein User mehrmals schnell hintereinander über den Touchscreen wischen kann; die erzwungene Pause zwischen 2 Swipes soll ca. 1 Sek. betragen.
Zum Testen stelle ich gern einen Teamviewer-Zugang zur Verfügung.
Freue mich auf PNs.
Viele Grüße
Peter | |
Re: Biete 100 EUR: Schnelle Mousedown-Events auf Touchscreen verzögern | | | Autor: W. Wolf | Datum: 05.06.19 08:25 |
| Hallo,
ohne eine Testumgebung wird fertig funktionierender Code schwierig werden. Aber wir können das Prinzip zumindest diskutieren. Du wirst dich in den Nachrichten-Strom von Windows einklinken müssen. Hier verkürzt (in einem Modul):
Private Declare Function SetWindowsHookEx& Lib "user32" Alias _
"SetWindowsHookExA" (ByVal HID&, ByVal Fn&, ByVal hmod&, ByVal ThrId&)
Private Declare Function CallNextHookEx& Lib "user32" (ByVal hHook&, ByVal _
nCode&, ByVal wParam&, lParam As Any)
Private Declare Function UnhookWindowsHookEx& Lib "user32" (ByVal Hook&)
Private Declare Function WindowFromPoint& Lib "user32" (ByVal x&, ByVal y&)
'Überwachung starten
hCallNextHookEx& = SetWindowsHookEx(WH_GetMessage, AddressOf MsgProc, 0, _
App.ThreadID) Dann brauchst Du noch eine Prozedur MsgProc, wo die Nachrichten ankommen:
Private Function MsgProc(ByVal nCode&, ByVal wParam&, Inf As Msg) As Long
End Function Hier kannst du auf deine Nachricht warten, prüfen ob diese Nachricht an dein Fenster geht und einen Zeitstempel setzen. Beim eintreffen der nächsten Nachricht kontrollierst du die Zeitdifferenz und lässt die Nachricht nur dann durch, wenn dein Limit erreicht ist:
MsgProc = CallNextHookEx(hCallNextHookEx&, nCode, wParam, Inf) Um fertigen Code zu liefern, müsste man ein bisschen die Windows-Messages analysieren, die beim Wischen und Tippen eintrudeln. Am Programm-Ende nicht vergessen den Hook wieder aufzuheben, sonst kracht es. Achtung: es wird auch in der IDE mächtig Probleme beim Debuggen geben. Deshalb Programm möglichst nicht anhalten, sondern über Ausgaben in das Direktfenster debuggen.
Gruß
W. Wolf
PS: kauf deiner Frau/Freundin/Kindern was schönes für die 100 Mäuse! | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|