Français
Forum

Webcontrol auslesen ?

 

Andreas
Gaida
Hi!
Weis peut-être quelqu'un comment on den le contenu eines solchen Webcontrols auslesen peux.
Müsste une IP Adresse daraus auslesen. avec qui souris peux on oui alles markieren et kopieren.mais mir manquer qui
passenden Messages um es automatisch trop faire.si quelqu'un qui kennt ,währe je pour vous très reconnaissant.
KompilierenMarqueSéparation
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
sur cet Art gehts garnicht. exposition la fois ici:
[web]https://XProfan.com/thread.core?t=3162&highlight=stringtoguid[/web]
 
18.01.2008  
 




Andreas
Gaida
merci mais qui Beispiele montrer den Quellcode qui page à. il me faut seulement qui Anzeige qui ausgegebenen Textes
et c'est manuel avec qui souris machbar (Marque et dans qui Zwischenablage kopieren)seulement malheureusement weis je pas comment cela automatisch allez.
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
18.01.2008  
 



Andreas non aus pfui! prends qui Télécharger-Include - so ou bien so wirst Du mais den HTML parsen doit à de Dir gewünschten Inhalte herauszufischen! (nagut, xml parsen wirst net doit um ne IP rauszufischen, ici volonté vlt. substrs reichen)

Votre WAN-IP gibt Dir qui download-inc aussi per dw.ip() comme String zurück - pour den le cas cela es Dir tout autor allez...
 
18.01.2008  
 




Uwe
''Pascal''
Niemeier
allô gens!

ici une variante zur Anzeige des sichtbaren Textes einer Webseite:
KompilierenMarqueSéparation
 $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 chez Verwendung meiner ocx2-Routinen [...] :
KompilierenMarqueSéparation
style de fenêtre 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----finissons
ocxInit()
declare 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,démolir
appendmenubar 104,Aktualisieren
appendmenubar 105,Startseite
appendmenubar 106,chercher
appendmenubar 107,Dossier öffnen
appendmenubar 108,URL öffnen
appendmenubar 109,Text Montrer
appendmenubar 110,Voir le texte source Montrer
ocxMethod(WebObject&,GoHome)--Startseite öffnen
--chez besoin: Meldungen des WebBrowsers unterdrücken (z.B. Scriptfehler ou bien Offline)
ocxPut(WebObject&,Silent,$FFFF)

proc navigation-------------------------------------------

    parameters 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-----------------------------------------

        parameters Mode$
        var Document&=ocxGet(WebObject&,Document)
        var Body&=ocxGet(Document&,body)
        var Text$=ocxGet(Body&,Mode$)
        ocxRelease(Body&,Document&)
        settext Edit&,Text$
        endproc---------------------------------------------------

        tandis que 1

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

                navigation(back)
                ocxMethod(WebObject&,goback) > faute chez Unterlauf

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

                navigation(forward)
                ocxMethod(WebObject&,goforward) > faute chez Überlauf

            elseif menuitem(103)-----------------------------------démolir

                ocxMethod(WebObject&,Stop)

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

                ocxMethod(WebObject&,Refresh)

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

                ocxMethod(WebObject&,GoHome)

            elseif menuitem(106)-----------------------------------chercher

                ocxMethod(WebObject&,GoSearch)

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

                Url$=loadfile$(s'il te plaît Bild ou bien HTML-Dossier choisir,*.*)
                Redraw(WebControl&)--Neuzeichnen WG. Dialogbox chez Abbruch
                cas len(Url$):ocxMethod(WebObject&,Navigate,*+Url$)

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

                Url$=input$(s'il te plaît Web-Adresse eingeben:,URL:,http://www.Google.de)
                Redraw(WebControl&)--Neuzeichnen WG. Dialogbox chez Abbruch
                cas len(Url$):ocxMethod(WebObject&,Navigate,*+Url$)

            elseif menuitem(109)-----------------------------------Text Montrer

                TextAnzeigen(outerText)

            elseif menuitem(110)-----------------------------------Voir le texte source Montrer

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

                tandis que 1-------------------------attendre, jusqu'à Aktion fonctionnement ist

                    casenot ocxGet(WebObject&,Busy):pause
                    sleep 200
                    endwhile---------------------------------------------------------
                    ~GetClientRect(%hwnd,Pos#)--Repositionieren WG. Scrolleisten chez 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
                    cas %umessage=16:pause--Ende
                    endwhile---------------------------------------------Ende Eingabeschleife
                    dispose Pos#
                    destroywindow(WebControl&)
                    ocxDeInit()

Im Zweifelsfall laisser sich so aussi einzelne Elemente qui Webseite abfragen, si sich cet irgendwie isolieren laisser, z.B. duch une intene ID.
Inwiefern cela chez qui FritzBox nutzbar ist, sais je mais (encore) pas...

HTH
Pascal
 
19.01.2008  
 




RGH
un kleiner Tipp:

cela ~GetClientRect() peux on sich sparen.
XProfan kennt depuis langem qui Funktionen Width(hWin&) / Height(hWin&), avec denen sich qui Ausmaße des Clientbrereiches des Fensters hWin& ermitteln laisser.
(bien sûr: cet Funktionen appeler naturellement aussi qui API GetClientRect() sur ...)

Salut
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
merci Euch allen pour qui Aider.
mais qui Lösungen sommes mir trop Komplex.
Mir serait wirklich ausreichen si Je l' Text markieren pourrait et ihm dans qui Zwieschenablage kopiert bekomme.
là cet vorgehen aussi manuel avec qui souris allez sollte es aussi Kommandos donner qui cela automatisch bewerkstelligen. comment wm_Copy, wm_Paste quoi mir fehlt ist qui Message pour 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
allô gens!

@ Roland: Stimmt, cela GetClientRect() doit la fois chez irgendwelchen Versuchen übrig geblieben son

@ Andreas:


là cet vorgehen aussi manuel avec qui souris allez sollte es aussi Kommandos donner qui cela automatisch bewerkstelligen. comment wm_Copy, wm_Paste


plan pas
Quelque chose comme läßt sich im Webbrowser aussi seulement per COM realisieren, es sei car, du würdest souris/Cursor fernsteuern. avec einfachen Messages ist là rien trop faire.

HTH
Pascal
 
19.01.2008  
 




Frank
Abbing
Du könntest es avec einer Kombination aus den API SetCursorPos() et mouse_event() essayer. cela simuliert Mausbewegungen- et knopfdrücke.
 
19.01.2008  
 




RudiB.
j'ai la fois den oberen (ersten) Quellcode aufbereitet, bringt mir mais une Fehlermeldung. quoi fonctionne là de travers ?
Seitenaufruf=Google-Translate et Allemand Begriff wird avec transfert beim Aufruf.

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

je voudrais sur qui page lediglich qui Ü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 appel

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

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

proc TextAuslesen'-------------------------------------sichtbaren Text Lecture

    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&

    tandis que 1

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

    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 ou bien 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 Montrer

tandis que 1

    waitinput
    cas %umessage=16:pause

endwhile

destroywindow(Web&)
freedll Atl&

21 kB
Hochgeladen:15.08.2021
Downloadcounter63
Download
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




RudiB.
...encore comme Nachtrag...qui Webseite wird komplett angezeigt, ensuite venez qui Fehlermeldung...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.08.2021  
 




Georg
Teles
Hi, dans qui proc CallMethod est un faute:

là steht un $ statt & beim paramètre Nr 4
cas %pcount=4:return call( Method&,IFace&,&(3),$(4) )

Korrigiert klappt es chez mir beim Erststart venez qui nervige Cookies annonce

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

20.08.2021  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

10.955 Views

Untitledvor 0 min.
Uwe Lang28.06.2024
H.Brill07.06.2024
Sven Bader21.11.2023
Ernst29.05.2022
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie