Hallo !
Mit dem folgenden Code möchte ich Tasten an einen Internetexplorer senden:
Delphi-Quellcode:
procedure SendeTaste(Empfaenger: THandle; Zeichencode: Integer);
begin
PostMessage(Empfaenger, WM_KEYDOWN, Zeichencode, 0);
PostMessage(Empfaenger, WM_KEYUP, Zeichencode, 0);
end;
procedure SendeWortBuchstabenweise(Empfaenger: THandle; Text: string);
Var i:integer;
begin
for i := 1 to length(Text) do
begin
SendeTaste(Empfaenger,Ord(Text[i]));
end;
end;
Der Aufruf erfolgt mit:
Delphi-Quellcode:
z.B.: SendeWortBuchstabenweise(
HANDLE,Edit1.Text);
z.B.: SendeTaste(
HANDLE,VK_TAB);
Wenn man das
Handle von einem Editorfenster übergibt, funktioniert alles tadellos.
Buchstaben, Tabulatoren, Leertasten, Entertasten... Alles kommt im Editor an.
Wenn man allerdings an einen TAB im aktuellen Internetexplorer in Windows 7 sendet,
so kommt nur die Tabulatortaste an. Oder es kommt die Leertaste an, wenn der Focus auf einem Button liegt.
Wenn der Focus auf einem Eingabefeld liegt, kommen keine Buchstaben im Eingabefeld an.
Hat jemand eine Idee, wie man Buchstaben an ein Internet-explorer-fenster senden kann? (Chrome oder Edge wäre auch noch ok. Wobei ich dazusagen muss, dass im Chrome oder Opera z.B. nicht einmal die Tabulatortasten ankommen.)
Gruß,
Markus Effenberger