Hi,
inzwischen bin ich auf folgenden Trichter gekommen:
Anmerkung: Ich möchte hiermit darauf hinweisen, dass der folgende Code NICHT vom mir stammt.
In einem Timer mit 10ms Interval wird geschaut, ob die Zwischenablage gefüllt ist und ob ein bestimmtes Fenster existiert. Wenn ja werden die Daten in das Memo übertragen. Hier der Code dafür:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var a : array[0..1024] of char;
h : HWND;
begin
clpbrd := TClipboard.create;
if clpbrd.FormatCount>0 then
begin
if clpbrd.GetTextBuf(a,1000)>0 then
begin
h:=FindWindow(nil,'Testbrowser - Mozilla Firefox');
if (h<>0) then Memo1.lines.Add(string(a));
clpbrd.clear;
end;
end;
end;
Das Problem ist nur, dass ja ein 2.Browser geöffnet sein kann und dann kann man auch aus diesem Daten ins Programm importieren.
Meine Frage nun: Wie kann ich die Funktion noch an ein bestimmtes Fenster anpassen (also dass nur noch aus der Zwischenablage gelesen wird, wenn es sich auch um den Testbrowser handelt aus dem kopiert wurde)?
Meine Idee hierfür ist: Wenn ich im Browser auf den Befehl kopieren gehe (egal ob der PopUp oder per Strg. + C.) muss der Fokus ja auf dem Browser liegen...vielleicht kann man das hierrüber irgendwie herausfinden?!
Wäre super, wenn mir da jemand helfen könnte!