Sonntag

Virtuelle Tastenanschläge an ein bestimmtes Fenster

So nun zeige ich euch wie man einen virtuellen Tastenanschlag an ein bestimmtes Fenster sendet.

procedure key(s:string);
var
wnd: HWND; //Das Fenster
i: Integer;
//Die Zeichenlänge
begin
wnd := FindWindow(nil,'SRO_Client');
//Das Fenster: Sikroad(Spiel)
if wnd <> 0 then
//Fehler? kein Prob
begin
wnd := FindWindow(nil,'SRO_Client');
for i := 1 to Length(s) do
//Jedes Zeichen wird ausgelesen und per virtuellem Tastenanschlag gesendet
PostMessage(wnd, WM_Keydown, Word(s[i]), 0);
//Taste drücken
PostMessage(wnd, WM_Keyup, Word(s[i]), 0);
//und wieder frei geben
end;
end;

Aufgerufen wird das ganze mit:

key('Der Text');

oder sowas wie

key(edit1.text);

Viel spaß beim ausprobieren!

Wenn ihr die Tastenanschläge immer an das aktive Fenster senden wollt dann sucht mal unter Downloads nach Sendkey ;)

1 Kommentare:

Anonym hat gesagt…

Sehr schön geschrieben!
Vielen dank für dieses Tutorial!

Ich hoffe es folgen noch weitere :)