// 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; |