Autor Beitrag
r2d2-aeg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7

BeitragVerfasst: Do 25.11.10 11:54 
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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 25.11.10 12:26 
Das klingt nach einem Tastatur-Hook.
HeftCD
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 91
Erhaltene Danke: 9

Win2k, WinXP, Win7, Win8
Delphi 3 Pro, Delphi 5, Delphi 7, Turbo Delphi, BC1
BeitragVerfasst: 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]
www.swissdelphicente.../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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: 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