Español
Foro

Webcontrol auslesen ?

 

Andreas
Gaida
Hi!
Weis tal vez alguien cómo el Inhalt uno solchen Webcontrols auslesen kann.
Müsste una IP Adresse lo auslesen. Mit ratón puede ser sí alles marca y kopieren.Aber me fehlen el
passenden Messages en lo automáticamente a hacer.Wenn alguien el sabe ,währe Yo para ellos muy dankbar.
KompilierenMarcaSeparación
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  
 




Rolf
Koch
Auf esta Art gehts garnicht. Schau veces hier:
[web]https://XProfan.com/thread.core?t=3162&highlight=stringtoguid[/web]
 
18.01.2008  
 




Andreas
Gaida
Gracias aber el Beispiele zeigen el Quellcode el Página a. Yo brauche sólo el Anzeige el ausgegebenen Textos
y el es manuell con el maus machbar (Realce y en el Zwischenablage kopieren)sólo desafortunadamente weis Yo no como el automáticamente va.
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
18.01.2008  
 



Andreas nein de pfui! Tomar el Descargar-Incluir - así más o menos wirst Usted aber el HTML parsen necesario a de Usted deseado Inhalte herauszufischen! (nagut, xml parsen wirst net necesario en ne IP rauszufischen, hier voluntad vlt. substrs reichen)

Su WAN-IP son Usted el download-inc auch por dw.ip() como String zurück - para el Fall el lo Usted por lo tanto va...
 
18.01.2008  
 




Uwe
''Pascal''
Niemeier
¡Hola Personas!

Hier una Variante a Anzeige des sichtbaren Textes uno Webseite:
KompilierenMarcaSeparación
 $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$
            Atl&=usedll(atl.dll)
            AtlAxWinInit()
            a$=C:Test.html-----------Pfad oder URL
            Web&=control(AtlAxWin,a$,$50300000,0,0,780,250,%hwnd,0,0,$200)-HTML-Contol anlegen
            a$=TextAuslesen(Web&)
            create(Multiedit,%hwnd,a$,0,290,780,250)----Text anzeigen

            while 1

                waitinput
                case %umessage=16:break

            endwhile

            destroywindow(Web&)
         
class=s4 href='./../../function-references/XProfan/freedll/'>freedll Atl&

Eleganter gehts en Verwendung meiner ocx2-Routinen [...] :
KompilierenMarcaSeparación
windowstyle 16+8+4+2+1
window 1,1-(%maxX-1),(%maxY-1)
 $H Messages.ph
 $H Windows.ph
 $H ocx2.ph
 $I ocx2.inc
def Redraw(1) ~RedrawWindow(&(1),0,0,$485)
usermessages 16----Beenden
ocxInit()
declarar Pos#,Url$,WebControl&
dim Pos#,16
~GetClientRect(%hwnd,Pos#)
var WebObject&=ocxCreate(about:blank,%hwnd,0,0,long(Pos#,8),long(Pos#,12)/2,$53b00000,addr(WebControl&))
var Edit&=create(multiedit,%hwnd,,0,long(Pos#,12)/2,long(Pos#,8),long(Pos#,12)/2)
appendmenubar 101,Zurück
appendmenubar 102,Vorwärts
appendmenubar 103,Alto
appendmenubar 104,Aktualisieren
appendmenubar 105,Startseite
appendmenubar 106,Suchen
appendmenubar 107,Expediente öffnen
appendmenubar 108,URL öffnen
appendmenubar 109,Texto Mostrar
appendmenubar 110,Ver código fuente Mostrar
ocxMethod(WebObject&,GoHome)--Startseite öffnen
--En Bedarf: Meldungen des WebBrowsers unterdrücken (por ejemplo Scriptfehler oder Offline)
ocxPut(WebObject&,Silent,$FFFF)

proc Navigation-------------------------------------------

    parámetros Mode$
    var Document&=ocxGet(WebObject&,Document)
    var Window&=ocxGet(Document&,parentWindow)
    var History&=ocxGet(Window&,History)
    ocxMethod(History&,Mode$)
    ocxRelease(History&,Window&,Document&)
    ENDPROC---------------------------------------------------

    proc TextAnzeigen-----------------------------------------

        parámetros Mode$
        var Document&=ocxGet(WebObject&,Document)
        var Body&=ocxGet(Document&,body)
        var Texto$=ocxGet(Body&,Mode$)
        ocxRelease(Body&,Document&)
        settext Edit&,Texto$
        ENDPROC---------------------------------------------------

        mientras que 1

            if menuitem(101)---------------------------------------Zurück

                Navigation(back)
                ocxMethod(WebObject&,goback) > Fehler en Unterlauf

            elseif menuitem(102)-----------------------------------Vorwärts

                Navigation(forward)
                ocxMethod(WebObject&,goforward) > Fehler en Überlauf

            elseif menuitem(103)-----------------------------------Alto

                ocxMethod(WebObject&,Stop)

            elseif menuitem(104)-----------------------------------Aktualisieren

                ocxMethod(WebObject&,Refresh)

            elseif menuitem(105)-----------------------------------Startseite

                ocxMethod(WebObject&,GoHome)

            elseif menuitem(106)-----------------------------------Suchen

                ocxMethod(WebObject&,GoSearch)

            elseif menuitem(107)-----------------------------------Expediente öffnen

                Url$=loadfile$(Bitte Bild oder HTML-Expediente wählen,*.*)
                Redraw(WebControl&)--Neuzeichnen ca. Dialogbox en Abbruch
                caso len(Url$):ocxMethod(WebObject&,Navigate,*+Url$)

            elseif menuitem(108)-----------------------------------URL öffnen

                Url$=input$(Bitte Web-Adresse eingeben:,URL:,http://www.Google.de)
                Redraw(WebControl&)--Neuzeichnen ca. Dialogbox en Abbruch
                caso len(Url$):ocxMethod(WebObject&,Navigate,*+Url$)

            elseif menuitem(109)-----------------------------------Texto Mostrar

                TextAnzeigen(outerText)

            elseif menuitem(110)-----------------------------------Ver código fuente Mostrar

                TextAnzeigen(outerHTML)
                endif------------------------------------------------------------

                mientras que 1-------------------------Esperar, a Aktion ausgeführt es

                    casenot ocxGet(WebObject&,Busy):romper
                    sleep 200
                    endwhile---------------------------------------------------------
                    ~GetClientRect(%hwnd,Pos#)--Repositionieren ca. Scrolleisten en Grössenänderung
                    setwindowpos WebControl&=0,0-long(Pos#,8),long(Pos#,12)/2
                    setwindowpos Edit&=0,long(Pos#,12)/2-long(Pos#,8),long(Pos#,12)/2
                    Redraw(WebControl&)--Neuzeichnen
                    waitinput
                    caso %umessage=16:romper--Ende
                    endwhile---------------------------------------------Ende Eingabeschleife
                    disponer Pos#
                    destroywindow(WebControl&)
                    ocxDeInit()

Im Zweifelsfall dejar se así auch einzelne Elemente el Webseite abfragen, si se esta irgendwie isolieren dejar, z.B. duch una intene ID.
Inwiefern en el el FritzBox nutzbar es, weiß Yo aber (todavía) no...

HTH
Pascal
 
19.01.2008  
 




RGH
Ein kleiner Tipp:

Das ~GetClientRect() puede ser se sparen.
XProfan sabe seit langem el Características Width(hWin&) / Height(hWin&), con denen el Ausmaße des Clientbrereiches la ventana hWin& ermitteln dejar.
(Klar: Diese Características rufen natürlich auch el API GetClientRect() en ...)

Saludo
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
Gracias Euch allen para el Ayuda.
Aber el Lösungen son me a Komplex.
Mir sería wirklich ausreichen si yo el Texto marca podría y ihm en el Zwieschenablage kopiert bekomme.
Como dieses vorgehen auch manuell con ratón va debería lo auch Kommandos geben el el automáticamente bewerkstelligen. como wm_Copy, wm_Paste qué me fehlt Es el Message para alles marca.

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
¡Hola Personas!

@ Roland: Stimmt, el GetClientRect() muß veces en irgendwelchen Versuchen übrig geblieben ser

@ Andreas:


Como dieses vorgehen auch manuell con ratón va debería lo auch Kommandos geben el el automáticamente bewerkstelligen. como wm_Copy, wm_Paste


Eben no
Algo como läßt se en el Webbrowser auch sólo por COM realisieren, lo sei porque, du würdest Ratón/Cursor fernsteuern. Mit einfachen Messages es como nichts a hacer.

HTH
Pascal
 
19.01.2008  
 




Frank
Abbing
Usted könntest lo con uno Kombination de el API SetCursorPos() y mouse_event() probieren. Das simulado Mausbewegungen- y knopfdrücke.
 
19.01.2008  
 




RudiB.
Yo habe veces el oberen (ersten) Quellcode aufbereitet, bringt me aber una Fehlermeldung. Was se ejecuta como erróneo ?
Seitenaufruf=Google-Translate y Deutscher Begriff es con transferencia beim Aufruf.

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

Yo möchte en el Página lediglich el Übersetzung des Wortes auslesen.


 $H Windows.ph

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

    parámetros GUID$,GUID&
    declarar Temp$
    Temp$=space$(80)
    ~MultiByteToWideChar(1,1,addr(GUID$),-1,addr(Temp$),80)
    external("ole32","CLSIDFromString",addr(Temp$),GUID&)

ENDPROC'-----------------------------------------------------------------------

proc CallMethod'--------------------------Método uno COM-Interfaces aufrufen

    parámetros IFace&,Method&
    declarar VTable&
    VTable&=long(IFace&,0)
    Method&=long(VTable&,Method&*4)
    caso %pcount=2:volver call( Method&,IFace& )
    caso %pcount=3:volver call( Method&,IFace&,&(3) )
    caso %pcount=4:volver call( Method&,IFace&,&(3),$(4) )
    caso %pcount=5:volver call( Method&,IFace&,&(3),&(4),&(5) )

ENDPROC'-----------------------------------------------------------------------

proc TextAuslesen'-------------------------------------sichtbaren Texto Auslesen

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

    mientras que 1

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

    endwhile

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

ENDPROC'-----------------------------------------------------------------------

window 0,0-800,600
usermessages 16
def AtlAxWinInit(0) !"atl.dll","AtlAxWinInit"
def AtlAxCreateControl(4) !"atl.dll","AtlAxCreateControl"
declarar 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 invertir
a$=TextAuslesen(Web&)
ME&=create("Multiedit",%hwnd,a$,0,290,780,250)'----Texto Mostrar

mientras que 1

    waitinput
    caso %umessage=16:romper

endwhile

destroywindow(Web&)
freedll Atl&

21 kB
Hochgeladen:15.08.2021
Ladeanzahl60
Descargar
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




RudiB.
...todavía como Apéndice...el Webseite se komplett adecuado, entonces kommt el Fehlermeldung...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




Georg
Teles
Hi, en el proc CallMethod es una fehler:

hay es una $ en lugar de & beim Parámetro Nr 4
caso %pcount=4:volver call( Method&,IFace&,&(3),$(4) )

Korrigiert klappt lo en me beim Erststart kommt el nervige Cookies Meldung

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

20.08.2021  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.437 Views

Untitledvor 0 min.
Uwe Lang28.06.2024
H.Brill07.06.2024
Sven Bader21.11.2023
Ernst29.05.2022
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie