AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit keybd_event

Ein Thema von stephan3309 · begonnen am 5. Aug 2009 · letzter Beitrag vom 5. Aug 2009
Antwort Antwort
stephan3309

Registriert seit: 16. Aug 2006
15 Beiträge
 
#1

Probleme mit keybd_event

  Alt 5. Aug 2009, 09:24
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:
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 unterschiedliche Buchstaben/Zahlen eingegeben werden, funktioniert das auch wunderbar,
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 .
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit keybd_event

  Alt 5. Aug 2009, 09:58
Versuch es mal hiermit: EnterText
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
stephan3309

Registriert seit: 16. Aug 2006
15 Beiträge
 
#3

Re: Probleme mit keybd_event

  Alt 5. Aug 2009, 10:03
Dankeschön!

Damit läufts


Einen schönen Tag noch!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz