Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Markierten Text aus Webbrowser auslesen (https://www.delphipraxis.net/66289-markierten-text-aus-webbrowser-auslesen.html)

marabu 28. Mär 2006 20:32

Re: Markierten Text aus Webbrowser auslesen
 
Zitat:

Zitat von Yheeky
Ich habe gedacht, dass das alle sind, die du in die Uses reingeschrieben hast.

Habe ich zuerst auch gedacht - sorry.

Zitat:

Zitat von Yheeky
Nun geht das mit dem Internet Explorer, aber nicht, wenn ich den IE 2 mal auf habe. Dann wird nur der erste von beiden ausgelesen.

Den Code kann man anpassen, so dass er alle Fenster abklappert.

Zitat:

Zitat von Yheeky
Kann man diesen Code nun noch auf andere Browser übertragen?

Nein.

marabu

Yheeky 28. Mär 2006 20:37

Re: Markierten Text aus Webbrowser auslesen
 
Zitat:

Zitat von marabu
Den Code kann man anpassen, so dass er alle Fenster abklappert.

Ja? Wie denn? :)

Zitat:

Zitat von marabu
Zitat:

Zitat von Yheeky
Kann man diesen Code nun noch auf andere Browser übertragen?

Nein.

Brauch ich aber... :roll:

Yheeky 28. Mär 2006 22:57

Re: Markierten Text aus Webbrowser auslesen
 
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!

toms 29. Mär 2006 08:17

Re: Markierten Text aus Webbrowser auslesen
 
Zitat:

In einem Timer mit 10ms Interval wird geschaut, ob die Zwischenablage gefüllt ist
Hallo,

Dad mit dem Timer gefaellt mir nicht. Vom System werden Ereignisse ausgeloest, wenn die Zwischenablage geaendert wird. Musst also nur auf jene Ereignisse reagieren.

cruiser 29. Mär 2006 11:17

Re: Markierten Text aus Webbrowser auslesen
 
eventuell auch nicht nur prüfen ob ein Fenster existiert, sondern auch ob es im Vordergrund ist

Greets


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.
Seite 3 von 3     123   

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