AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Mousehook und welche Maus war es
Thema durchsuchen
Ansicht
Themen-Optionen

Mousehook und welche Maus war es

Ein Thema von hanspeter · begonnen am 24. Okt 2009 · letzter Beitrag vom 25. Okt 2009
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Mousehook und welche Maus war es

  Alt 24. Okt 2009, 22:37
Hallo,
ich habe an einem Rechner logisch zwei Mäuse hängen und will den Tastendruck einer Maus innerhalb des Programmes oder besser systemweit abfangen.
Also ein Mousehook systemweit.
Wenn jemand eine fertige Lösung (natürlich gegen Bezahlung) anbieten könnte, wäre mir das aus zeitlichen Gründen am liebsten.
Das Drücken derTaste soll umgehend einen Event erzeugen.

Der programmtechnische Hintergrund.
Ich habe einen USB Taster gekauft. Dieser wird als Maus im System angemeldet und simuliert einen Tastendruck (mbleft).
Von Haus aus ist ein Driver mitgeliefert. Dieser installiert einen Mousehook und schlüsselt das Drücken der Taste in ein frei programmierbaren Key um. (z.B. Ctrl-Alt-Shift A)
Das Teil bietet zuviel Service. Es kist möglich das Zeichen kurzer , langer und doppelter Tastendruck zu definieren. Das bedeutet, das der Taster erst auf das Loslassen der Taste reagiert. Hier ist auch noch eine Verzögerung implementiert um einen doppelten Tastendruck zu erkennen.
Diese Wartezeit ist zu lang. In der Praxis führt das dazu, das der Taster mehrfach gedrückt wird.
Nebenbei bemerkt, die Wirkung dieses Tastendruckes ist mächtig gewaltig. Mit etwa 1200 W verstärkt erklingt eine Glocke des Kölner Domes.
Programm oder systemweit ist in diesem Fall egal, da der Rechner ein Einzweckrechner ist, auf dem immer das gleiche Programm läuft.
Der Taster dient zur platzweiten Kommunikation wärend einer Sportveranstaltung. (Startfreigabe und Gefahrenabbruch.)

Für einen Lösungsvorschlag danjbar.

Gruß Peter
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Mousehook und welche Maus war es

  Alt 25. Okt 2009, 01:13
Bist du dir sicher das der Treiber einen Hook installiert? Ich würde eher Tippen das der Treiber direkt dafür sorgt das der Tastendruck simuliert wird. Denn im Maus-/Tastaturhook ist mir nicht bekannt das mitgeliefert wird von welchem Gerät (oder ob überhaupt von einem Gerät) der Tastendruck kommt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#3

Re: Mousehook und welche Maus war es

  Alt 25. Okt 2009, 02:04
Wenn der mitgelieferte Treiber auch eine beliebige Tastenkombination senden kann, dann wähle eine,
welche es sonst auf dem System nicht gibt.

Für das eigene Programm könntest du dann über einen Tastatur-Hook an diese Taste(n) kommen
oder du wählst die Taste(n) so, daß einfach einen globaler Hotkey damit angesprochen wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Mousehook und welche Maus war es

  Alt 25. Okt 2009, 08:49
Zitat von himitsu:
Wenn der mitgelieferte Treiber auch eine beliebige Tastenkombination senden kann, dann wähle eine,
welche es sonst auf dem System nicht gibt.
So habe ich es jetzt gelöst.
In einem Installer kann die Taste programmiert werden, die simuliert werden soll.
Was ich weg haben möchte, sind die etwa 1 sec Verzögerung nach dem Loslassen der Taste.

Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz