Forum | | | | 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 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] |
| | | | |
| | 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... |
| | | | |
| | 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éparationstyle 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 |
| | | | |
| | 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 |
| | | | |
| | Frank Abbing | Du könntest es avec einer Kombination aus den API SetCursorPos() et mouse_event() essayer. cela simuliert Mausbewegungen- et knopfdrücke. |
| | | | |
| | 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&
|
| | | | |
| | RudiB. | ...encore comme Nachtrag...qui Webseite wird komplett angezeigt, ensuite venez qui Fehlermeldung... |
| | | | |
| | Georg Teles | Hi, dans qui proc CallMethod est un faute:
là steht un $ statt & beim paramètre Nr 4
Korrigiert klappt es chez mir beim Erststart venez qui nervige Cookies annonce
Grüße |
| | | | |
|
répondreOptions du sujet | 10.955 Views |
Themeninformationencet Thema hat 10 participant: |