Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Código HTML en Control WebBrowser (VB6)

Estas en el tema de Código HTML en Control WebBrowser (VB6) en el foro de Visual Basic clásico en Foros del Web. Hola, Alguien sabe si existe algún método para obtener el código HTML de la página cargada en un control WebBrowser en VB6 ? (el método ...
  #1 (permalink)  
Antiguo 19/03/2008, 10:08
Avatar de Laforge  
Fecha de Ingreso: noviembre-2004
Ubicación: Galaxia 34, Cuadrante 972, Área 31
Mensajes: 174
Antigüedad: 19 años, 6 meses
Puntos: 2
Código HTML en Control WebBrowser (VB6)

Hola,

Alguien sabe si existe algún método para obtener el código HTML de la página cargada en un control WebBrowser en VB6 ? (el método DocumentText de .NET no existe en VB6 ... )

Saludos
__________________
Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega.

No hay vida después de MySQL
  #2 (permalink)  
Antiguo 19/03/2008, 10:30
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Código HTML en Control WebBrowser (VB6)

Hola,Laforge,se puede hacer de varias formas ,una es usando el ocx de Inet,que se puede hacer con una linea de codigo,otra es usar la XML library,pero mejor es hacerlo sin ocx y sin dll y desde codigo,con este codigo:

En un Modulo:

Código:
Option Explicit
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Public Const IF_FROM_CACHE = &H1000000
Public Const IF_MAKE_PERSISTENT = &H2000000
Public Const IF_NO_CACHE_WRITE = &H4000000
     
Private Const BUFFER_LEN = 256


Public Function GetUrlSource(sURL As String) As String
    Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
    Dim hInternet As Long, hSession As Long, lReturn As Long
    hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
    If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
    If hInternet Then
        iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
        sData = sBuffer
        Do While lReturn <> 0
            iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
            sData = sData + Mid(sBuffer, 1, lReturn)
        Loop
    End If
 

    iResult = InternetCloseHandle(hInternet)

    GetUrlSource = sData
End Function
En el Form:

Código:
Text1.Text = GetUrlSource("http://www.google.com")
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 19/03/2008, 10:49
Avatar de Laforge  
Fecha de Ingreso: noviembre-2004
Ubicación: Galaxia 34, Cuadrante 972, Área 31
Mensajes: 174
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Código HTML en Control WebBrowser (VB6)

... sí eso es lo que estoy usando pero me he encontrado con una máquina que, en lo único que difiere de las que he usado hasta el momento es que tiene internet explorer 7 ... y no sé pq razón esas funciones de la api no acaban de ir bién.... por eso me planteaba utilizar el webbrowser como base ...
__________________
Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega.

No hay vida después de MySQL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.