// Hiermit wird ein
angeblicher Tastendruck (Tastendrücke) an eine procedure tastendruck(T, ZS: Word; TWC: TWinControl);
begin
if TWC <> nil then
TWC.setfocus;
keybd_event(ZS, 0, 0, 0);
keybd_event(T, 0, 0, 0);
keybd_event(T, 0, keyEventF_keyUp, 0);
keybd_event(ZS, 0, keyEventF_keyUp, 0);
end;
// Es wird eine "1" in Edit1 eingetragen
procedure TForm2.Button4Click(Sender: TObject);
begin
tastendruck(49, 0, Edit1);
end;
// Die Buchstaben a..z und A..Z werden eingetragen
procedure TForm2.Button5Click(Sender: TObject);
var x: integer;
begin
for x := 65 to 90 do tastendruck(x, 0, Edit1);
for x := 65 to 90 do tastendruck(x, vk_shift, Edit1);
end;
// Die Anwendung wird mit ALT+F4 geschlossen
procedure TForm2.Button6Click(Sender: TObject);
begin
tastendruck(vk_F4, vk_menu, application.mainform);
end;
// Ein unbenanntes Notepad-Fenster wird geleert
// und mit Zahlen und Zeichen gefüllt
procedure TForm1.Button2Click(Sender: TObject);
var
x: integer;
h: HWND;
begin
h := findwindow(nil, 'Unbenannt - Editor');
if h = 0 then exit;
showwindow(h, sw_shownormal);
setforegroundwindow(h);
// Alles markieren------
tastendruck(ord('B'), VK_MENU, nil);
tastendruck(ord('M'), 0, nil);
// ----------------------
for x := 48 to 57 do tastendruck(x, 0, nil);
for x := 48 to 57 do tastendruck(x, vk_shift, nil);
end;
//
----------------------------------------------------------------- function CharToVK(source: Char; var shift, ctrl, alt: boolean): smallint;
var
Code: smallint;
begin
Code := VkKeyScan(source);
result := lo(Code);
Code := hi(Code);
shift := Code and 1 > 0;
ctrl := Code and 2 > 0;
alt := Code and 4 > 0;
end;
procedure SendText(s: string);
var
x: integer;
T: smallint;
shift, ctrl, alt: boolean;
begin
for x := 1 to length(s) do begin
T := chartovk(s[x], shift, ctrl, alt);
if shift then keybd_event(vk_shift, 0, 0, 0);
if ctrl then keybd_event(vk_control, 0, 0, 0);
if alt then keybd_event(vk_menu, 0, 0, 0);
keybd_event(T, 0, 0, 0);
keybd_event(T, 0, keyEventF_keyUp, 0);
if alt then keybd_event(vk_menu, 0, keyEventF_keyUp, 0);
if ctrl then keybd_event(vk_control, 0, keyEventF_keyUp, 0);
if shift then keybd_event(vk_shift, 0, keyEventF_keyUp, 0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
h: THandle;
s: string;
begin
s := 'Das ist ein Test mit verschiedenen Zeichen: #~,{}[]()\/&%"_;@ÄÖÜß';
h := findwindow(nil, 'Unbenannt - Editor');
if h <> 0 then begin
showwindow(h, sw_shownormal);
setforegroundwindow(h);
sendText(s);
end else showmessage('Ziel-Fenster nicht gefunden');
end;
|





