![]() |
Probleme mit keybd_event
Guten Morgen!
Ich möchte von meinem Programm aus einen String, den ich von einer RS232 Schnittstelle einlese an ein externes Programm senden. Leider habe ich noch ein kleines Problem mit der Übergabe an ein externes Programm. Die Handles der externen Programme habe ich erfolgreich mit Win-Spy finden können. Nach dem ich Google und Foren-Suchen gequält habe, kam folgendes dabei raus:
Delphi-Quellcode:
Wenn unterschiedliche Buchstaben/Zahlen eingegeben werden, funktioniert das auch wunderbar,
procedure TForm1.B_SendClick(Sender: TObject);
var wndMain, wndChild: HWND; i: integer; s : string; begin s := E_Rx_String.Text; wndMain := FindWindow('Notepad','Unbenannt - Editor'); if wndMain <> 0 then begin wndChild := FindWindowEx(wndMain, 0, 'Edit', nil); if wndChild <> 0 then begin ShowMessage('Window Handle: ' + IntToStr(wndChild)); SetForegroundWindow(wndChild); for i := 1 to length(s) do if VkKeyScan(s[i])>255 then begin keybd_event(VK_SHIFT, 0, 0, 0); keybd_event(VkKeyScan(s[i]), 0, 0, 0); keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); end else keybd_event(VkKeyScan(s[i]), 0, 0, KEYEVENTF_KEYUP); end; end else ShowMessage('Fenster nicht gefunden!'); end; wenn in dem Editfeld aber gleiche Zeichen nebeneinander stehen, werden die nicht ausgegeben. Beispiel: Eingabe im Delphi Programm -> Ausgabe in Notepad '111' -> 1 'A111' -> A1 Sind jedoch unterschiedliche Zeichen nebeneinander, funktioniert das ganze wunderbar: '123' -> 123 Kann mir einfach nicht erklären warum das so ist :gruebel: . Die Länge des Strings wird (in der For-Schleife/length(s)) korrekt ermittelt. Vielleicht könnt Ihr mir einen Tip geben, woran das liegt,...und wie ich das Problem vielleicht beseitigen kann. Einen schönen Tag noch, stephan |
Re: Probleme mit keybd_event
Versuch es mal hiermit:
![]() |
Re: Probleme mit keybd_event
Dankeschön!
Damit läufts :-D Einen schönen Tag noch! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz