AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tastaturhook -> Tasten manupulieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastaturhook -> Tasten manupulieren

Ein Thema von webby · begonnen am 16. Apr 2003 · letzter Beitrag vom 20. Jun 2003
Antwort Antwort
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#1
  Alt 20. Jun 2003, 00:03
Hi,

hey, das is cool.
Also erstmal ist kurz zu erwähnen dass der obige Code (also der von "meiner" HookProc) unter 9x prima läuft, das also alles tatsächlich daran liegt, dass XP NT basierend ist.
Jetz hab ich durch Rumprobieren rausgefunden, dass bei dieser LL-Struktur die Eigenschaft vkCode den ASCII-Code des gedrückten Zeichens enthält.
Irgendwie scheints zwar so zu sein, dass die Eigenschaften dieser Struktur unter der 9x- Struktur so heißen würden wie in deinen Kommentaren, aber sie enthalten andere Daten.
Unter 9x enthielt message ja ganz normal die Message, ob keyup, keydown oder sonstwas, und hier wie gesagt den ASCII- Code.
Deshalb hats auch zuerst nich geklappt, einfach den Code von Oben zu nehmen und einfach nur die Eigenschaften die angesprochen werden umzubenennen.
Ich frag mich nur, aus welcher Eigenschaft man jetz die Message lesen kann, um spezifisch auf Drücken und Loslassen reagieren zu können. Meine Hilfe kann mir dazu ja schlecht was sagen, kannte sie ja nichtmal diese Datenstruktur.
Und zu time:
Kann man daraus auslesen, wie lange eine Taste gedrückt gehalten wird? Könnt mir nicht vorstellen wie, weil doch nach diesem Wiederholungsintervall von Windows (also wenn man einen Buchstaben länger gedrückt hält, erscheint er im Endeffekt so oft wie der Intervall in die Zeit des Gedrückthaltens reinpasst) der Hook wieder aufgerufen wird.
Aber wichtig wäre mir erstmal rauszufinden welche Eigenschaft ich für die Message auslesen muss.
Wenn man nochn bissken mit den vkCodes rumprobiert, findet man auch die Werte raus, die so Sachen wie Shift und so wiedergeben.
160 lShift, 161 rShift, 162 lStrg, 163 rStrg, 164 Alt, 165 AltGr (wobei vor 165 immer ein 162 mitkommt).
Is halt nur wie gesagt ohne die Unterscheidung für keyup und keydown blöd, weil man sonst für jeden Tastendruck zwei identische Werte bekommt.

Aber nichts desto Trotz:
VIELEN DANK!!!!!

Hast mir ganz schön weitergeholfen mit der Datenstruktur.
Insgeheim machts mich ja schon ein Bisschen stolz den größten Teil (halt bis auf wm_keyup und wm_keydown) selbst rausgefunden zu haben...
Würd mich freuen, wenn sich auch dieses Problem aus dem Weg schaffen ließe.

Bis dann und nochmal danke,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  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 19:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz