Deutsch
Forum

Webcontrol auslesen ?

 
- Seite 1 -



Andreas
Gaida
Hi!
Weis vielleicht jemand wie man den Inhalt eines solchen Webcontrols auslesen kann.
Müsste eine IP Adresse daraus auslesen. Mit der Maus kann man ja alles markieren und kopieren.Aber mir fehlen die
passenden Messages um es automatisch zu machen.Wenn jemand die kennt ,währe ich für sie sehr dankbar.
KompilierenMarkierenSeparieren
WebControl&=create(HTMLWin,%hwnd,http://fritz.box/,0,0,0,width(%hwnd),height(%hwnd))

MfG
Andreas
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
18.01.2008  
 



 
- Seite 1 -



RGH
Ein kleiner Tipp:

Das ~GetClientRect() kann man sich sparen.
XProfan kennt seit langem die Funktionen Width(hWin&) / Height(hWin&), mit denen sich die Ausmaße des Clientbrereiches des Fensters hWin& ermitteln lassen.
(Klar: Diese Funktionen rufen natürlich auch die API GetClientRect() auf ...)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
19.01.2008  
 




Andreas
Gaida
Danke Euch allen für die Hilfe.
Aber die Lösungen sind mir zu Komplex.
Mir würde wirklich ausreichen wenn ich den Text markieren könnte und ihm in die Zwieschenablage kopiert bekomme.
Da dieses vorgehen auch manuell mit der Maus geht sollte es auch Kommandos geben die das automatisch bewerkstelligen. wie wm_Copy, wm_Paste was mir fehlt ist die Message für alles markieren.

M fG

Andreas
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
19.01.2008  
 




Uwe
''Pascal''
Niemeier
Hallo Leute!

@ Roland: Stimmt, das GetClientRect() muß mal bei irgendwelchen Versuchen übrig geblieben sein

@ Andreas:


Da dieses vorgehen auch manuell mit der Maus geht sollte es auch Kommandos geben die das automatisch bewerkstelligen. wie wm_Copy, wm_Paste


Eben nicht
Sowas läßt sich im Webbrowser auch nur per COM realisieren, es sei denn, du würdest Maus/Cursor fernsteuern. Mit einfachen Messages ist da nichts zu machen.

HTH
Pascal
 
19.01.2008  
 




Frank
Abbing
Du könntest es mit einer Kombination aus den API SetCursorPos() und mouse_event() probieren. Das simuliert Mausbewegungen- und knopfdrücke.
 
19.01.2008  
 




RudiB.
Ich habe mal den oberen (ersten) Quellcode aufbereitet, bringt mir aber eine Fehlermeldung. Was läuft da schief ?
Seitenaufruf=Google-Translate und Deutscher Begriff wird mit übergeben beim Aufruf.

"https://translate.google.com/?hl=de&sl=de&tl=it&text=hummel&op=translate"

Ich möchte auf der Seite lediglich die Übersetzung des Wortes auslesen.


 $H Windows.ph

proc StringToGUID'---------------Umwandlung String > globally unique identifier

    parameters GUID$,GUID&
    declare Temp$
    Temp$=space$(80)
    ~MultiByteToWideChar(1,1,addr(GUID$),-1,addr(Temp$),80)
    external("ole32","CLSIDFromString",addr(Temp$),GUID&)

EndProc'-----------------------------------------------------------------------

proc CallMethod'--------------------------Methode eines COM-Interfaces aufrufen

    parameters IFace&,Method&
    declare VTable&
    VTable&=long(IFace&,0)
    Method&=long(VTable&,Method&*4)
    case %pcount=2:return call( Method&,IFace& )
    case %pcount=3:return call( Method&,IFace&,&(3) )
    case %pcount=4:return call( Method&,IFace&,&(3),$(4) )
    case %pcount=5:return call( Method&,IFace&,&(3),&(4),&(5) )

EndProc'-----------------------------------------------------------------------

proc TextAuslesen'-------------------------------------sichtbaren Text Auslesen

    parameters WebCtrl&
    declare IID#
    dim IID#,16
    external("ole32","CoInitialize",0)
    declare IUnknown&
    external("atl","AtlAxGetControl",WebCtrl&,addr(IUnknown&))
    declare IWebBrowser&
    StringToGUID("{D30C1661-CDAF-11d0-8A3E-00C04FC9E26E}",IID#)'--IID_IWebBrowser2
    CallMethod(IUnknown&,0,IID#,addr(IWebBrowser&))'-------IUnknown::QueryInterface
    declare Status&

    while 1

        sleep 300
        CallMethod(IWebBrowser&,31,addr(Status&))'--IWebBrowser&::get_Busy
        casenot Status&:break

    endwhile

    declare IHTMLDocument2&
    CallMethod(IWebbrowser&,18,addr(IHTMLDocument2&))'--IWebbrowser::get_Document
    declare IHTMLElement&
    CallMethod(IHTMLDocument2&,9,addr(IHTMLElement&))'--IHTMLDocument2::get_body
    declare Text&
    CallMethod(IHTMLElement&,64,addr(Text&))'--IHTMLElement::get_outerText
    declare Size&,Text#,Text$
    Size&=external("oleaut32","SysStringLen",Text&)
    dim Text#,Size&
    ~WideCharToMultiByte(0,0,Text&,-1,Text#,Size&,0,0)
    external("oleaut32","SysFreeString",Text&)
    Text$=string$(Text#,0)
    CallMethod(IHTMLElement&,2)'----IHTMLElement::Release
    CallMethod(IHTMLDocument2&,2)'--IHTMLElement::Release
    dispose Text#
    dispose IID#
    external("ole32","CoUninitialize")
    return Text$

EndProc'-----------------------------------------------------------------------

window 0,0-800,600
usermessages 16
def AtlAxWinInit(0) !"atl.dll","AtlAxWinInit"
def AtlAxCreateControl(4) !"atl.dll","AtlAxCreateControl"
declare Atl&,Web&,a$,ME&
Atl&=usedll("atl.dll")
AtlAxWinInit()
a$="https://translate.google.com/?hl=de&sl=de&tl=it&text=hummel&op=translate"'-----------Pfad oder URL
Web&=control("AtlAxWin",a$,$50300000,0,0,780,250,%hwnd,0,0,$200)'-HTML-Contol anlegen
a$=TextAuslesen(Web&)
ME&=create("Multiedit",%hwnd,a$,0,290,780,250)'----Text anzeigen

while 1

    waitinput
    case %umessage=16:break

endwhile

destroywindow(Web&)
freedll Atl&

21 kB
Hochgeladen:15.08.2021
Ladeanzahl62
Herunterladen
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




RudiB.
...noch als Nachtrag...die Webseite wird komplett angezeigt, dann kommt die Fehlermeldung...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




Georg
Teles
Hi, in der proc CallMethod ist ein fehler:

dort steht ein $ statt & beim Parameter Nr 4
case %pcount=4:return call( Method&,IFace&,&(3),$(4) )

Korrigiert klappt es bei mir beim Erststart kommt die nervige Cookies Meldung

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

20.08.2021  
 



 
- Seite 2 -



RudiB.
Hallo Georg....tja das ist tatsächlich ein Fehler gewesen.
Aber ich habe mich wohl falsch ausgedrückt...
Ich möchte nicht nur die Seite angezeigt bekommen sondern die Übersetzung des Wortes auslesen und im Profan-Programm als Variable übergeben.

Aber irgendwas stimmt in diesem Quelltext aber immer noch nicht...es soll ja am Ende ein MultiEdit erstellt werden, das taucht bei mir aber gar nicht erst auf...

....hab den Fehler gefunden !!!
so stehts im Quelltext....muss aber etwas anders sein...
ME&=create("Multiedit",%hwnd,a$,0,100,780,550)'----Text anzeigen

Variable a$ ist der Knackpunkt....wie folgt mit Leerstring gehts natürlich
ME&=create("Multiedit",%hwnd,"",0,100,780,550)'----Text anzeigen

und dann den ausgelesenen Quellcode der Webseite in a$ ans Multiedit übergeben..
Settext ME&,a$' den ausgelesenen Quellcode der Webseite ans Multiedit übergeben..

Hat mich aber auch nicht weitergebracht, die Übersetzung des Wortes ist hier nicht zu finden.....SCHADE.

Aber trotzdem vielen Dank Georg..
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
20.08.2021  
 




p.specht

Die Übersetzung versteckt sich hinter einem Javascript-Link, sodass sie im ausgelesenen Seitentext gar nicht auftaucht. Erlebe gerade einen ähnlich "Klauschutz" und bin weiter am tüfteln ...

P.S.: Google Suchfeld selbst ist da kooperativer:
"rendition deutsch" als Suchbegriff gibt eine Antwortseite, die nach einer festen CLASS Angabe das korrekt übersetzte Wort "Wiedergabe" enthält. Könnte man rausfiltern ...
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
22.08.2021  
 




RudiB.
Mit der normalen Google-Suche geht es zwar aber er macht eine automatische Spracherkennung des Wortes.
So suche ich z.B. nach dem italienischen Wort "bombo" auf Deutsch Hummel, die Suchmaschine erkennt "bombo" jedoch als Spanisch und übersetzt es mir als "Trommel"
habs gerade mal mit Leo.org ausprobiert....dort kann man es auslesen.
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
23.08.2021  
 




p.specht

Leo.org ist tatsächlich eine gute Adresse in diesem Zusammenhang! Danke dir!
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
25.08.2021  
 




Michael
Hettner
Andreas Gaida (18.01.2008)
Hi!
Weis vielleicht jemand wie man den Inhalt eines solchen Webcontrols auslesen kann.
Müsste eine IP Adresse daraus auslesen. Mit der Maus kann man ja alles markieren und kopieren.Aber mir fehlen die
passenden Messages um es automatisch zu machen.Wenn jemand die kennt ,währe ich für sie sehr dankbar.
WebControl&=create(HTMLWin,%hwnd,http://fritz.box/,0,0,0,width(%hwnd),height(%hwnd))

MfG
Andreas


Um zum Beispiel die IP auszulesen nutze ich seit Jahren ganz einfach eine php-Datei, die ich hochgeladen habe.
Mit Profan lade ich mit @DownLoadFile die Datei als txt-Datei herunter, lese sie aus und lösche sie wieder.
Beispiel php-Datei:
<?php
echo gethostbyaddr($_SERVER["REMOTE_ADDR"]);
echo $_SERVER["REMOTE_ADDR"];
?>

Grundsätzlich müsste das mit allen Webseiten gehen. Runterladen, auslesen, fertig.
 
02.09.2021  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.811 Betrachtungen

Unbenanntvor 0 min.
Uwe Lang28.06.2024
H.Brill07.06.2024
Sven Bader21.11.2023
Ernst29.05.2022
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie