Entwickler-Ecke

Multimedia / Grafik - Tastendruck Systemweit abfangen


r2d2-aeg - Do 25.11.10 11:54
Titel: Tastendruck Systemweit abfangen
Wie kann ich verhindern, dass wenn ich den Tastendruck abfange, andere Programme auch empfangen.
z.B. Ich drück im Editor "A" und mein Programm soll bemerken, dass "A" gedrückt wurde und dann fertig.
Im Editor soll der Tastendruck gar nicht erst ankommen.

Bisher hab ich in einem Timer alle Millisekunde die Tasten abgefragt und wusste dann, "A" ist gedrückt.
Jetzt möchte ich, dass mein Programm irgendwie zwischen Tastatur und Editor liegt und das "A" nicht durchlässt oder so ähnich.

Vielen Dank im Voraus,
Team R2D2


Delete - Do 25.11.10 12:26

Das klingt nach einem Tastatur-Hook.


HeftCD - Do 25.11.10 14:22

äh, bitte was?

mit nem Timer die Tasten abgefragt ???

wie sollte das denn gehen ?



.einen systemweiten HotKey registrieren? [System]
http://www.swissdelphicenter.ch/de/showcode.php?id=147


aber eigentlich wird der Inhalt der chain doch gelöscht, wenn man den mit seinem Eigenen Programm vorher abfängt.


smt - Do 25.11.10 18:42

Schon mal was von Windows Messages gehört?
Mit nem Timer - das ist mit Sicherheit die falsche Vorgehensweise für so etwas.


es sollte irgendwie so gehen:


const
WM_MY_MESSAGE = WM_APP + 0;

type
TMyForm = class(TForm)
....
private
procedure OnMyMessage(var Msg: TMessage); message WM_MY_MESSAGE;


Mehr möchte ich dazu jetzt aber auch nicht schreiben, weil ich nicht genau weiss, was Du damit vorhast.

VG Sascha