Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dmgdani

#1
hola a todos.
Tengo el siguiente código que encontré por aquí el cual mete chrome en el picturebox.
y necesito en enviarle algún código javascrypt por ejemplo a la consola pero no se como hacer lo.
la única manera que e conseguido es abriendo la consola y con sendkey mandar le código y enter.
hay alguna manera mejor de hacer lo se podría recibir también datos desde vb6.

por si decís que use el control webbroser ya lo use y me da muchos fallos prefiero el chrome así y el único problema es ese.
un saludo


Private Declare Function SetParent Lib "user32" _
(ByVal hWndChild As Long, _
ByVal HWNDParent As Long) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal x As Long, _
ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long

'//Funcion API para obtener el handle de la aplicación que se quiere menter en el Picture
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

'//Ejecuta el programa
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

'//Función para cerrar la aplicación incrustada
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Const SHOW_FULLSCREEN = 3
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Const SWP_NOZORDER = &H4
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&

        Dim HWNDParent As Long

Private Sub Commandmeterchrome_Click()
HWNDParent = 0
   ShellExecute Me.hwnd, "", "chrome.exe", _
    "https://farmsatoshi.com", Environ("programfiles") & "\Google\Chrome\Application\", SW_SHOWMINIMIZED
   Espera (1)  'Espera 1 segundo a que se cargue
   Do While HWNDParent = 0
   HWNDParent = FindWindow("Chrome_WidgetWin_1", vbNullString) 'Obtiene el handle padre
   DoEvents
   Loop

Do While N& = 0
N& = SetParent(HWNDParent, Picture1.hwnd) 'Meter la apcliación en el picture
DoEvents
Loop

'Ajusta la ventana de Chrome al Picture
Call SetWindowPos(HWNDParent, HWND_TOP, 0, 0, _
Picture1.ScaleWidth, _
Picture1.ScaleHeight, _
SWP_NOZORDER)
End Sub
#2
hola a todos haber como me podiais ayudar para sacar estas imagenes capcha
de estas paginas web.
en todas es muy similar pero al estar en un iframe no consigo haceder a ellas tambien intente

WebBrowser1.Document.getelementbyid("adcopy-outer").ScrollIntoView (True)

para acercar el srcoll y luego capturar la pantalla pero si esta minimizada no se como capturar solo el WebBrowser y no la ventana activa.
tambien se agradeceria si supieses la forma de capturar los controles recargar capcha mas o menos para ponerlos yo y poder hacerlo mas automatizado.

y ya para terminar hay algun programa que te rellene los capchas automaticamente.



//http://payfaucet.com/
//http://www.faucetbtc.com
//http://www.greencoins.org


       Dim ORange As Object
       Dim i As Integer
   
       Set ORange = WebBrowser1.Document.Body.createControlRange()
       Picture2.Cls
       For i = 0 To WebBrowser1.Document.images.length - 1
           Call ORange.Add(WebBrowser1.Document.images.Item(i))
           Call ORange.execCommand("Copy")
           Set Picture2.Picture = Clipboard.GetData
'           MsgBox WebBrowser1.Document.Images.Item(i).GetAttribute("src")
           
           MsgBox WebBrowser1.Document.images.Item(i).GetAttribute("src")
           
'           If WebBrowser1.Document.images.Item(i).GetAttribute("id") = "banner" Then
'               Call ORange.Add(WebBrowser1.Document.images.Item(i))
'               Call ORange.execCommand("Copy")
'               Set Picture2.Picture = Clipboard.GetData
'               Exit For
'           End If
       Next
    End If






un saludo y muchas gracias
#3
Hola a todos
tengo un programa que coge unos datos de un WebBrowser pero este salta una alerta  y deja bloqueado el programa hasta que no se da aceptar.

bien yo desde un programa aparte con el siguiente codigo detecto el Hwnd o de la ventana o del boton y le mando un mensaje para cerrarlo.
como el programa se queda bloqueado pues no se puede ejecutar el código o yo no se como ejecutarlo si se puede ejecutar de alguna manera seria lo mejor.
pense en los hook que detecte cuando se ejecuto el cuadro de dialogo y ejecute el codigo para cerrarle.


Private Declare Function FindWindow _
    Lib "user32" _
    Alias "FindWindowA" ( _
        ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
 
 
Private Declare Function GetClassName _
    Lib "user32" _
    Alias "GetClassNameA" ( _
        ByVal hwnd As Long, _
        ByVal lpClassName As String, _
        ByVal nMaxCount As Long) As Long
 
Private Declare Function GetParent _
    Lib "user32" ( _
        ByVal hwnd As Long) As Long
 
Private Declare Function GetWindowText _
    Lib "user32" _
    Alias "GetWindowTextA" ( _
        ByVal hwnd As Long, _
        ByVal lpString As String, _
        ByVal cch As Long) As Long
 
' Retorna la cantidad de caracteres del caption de la ventana
Private Declare Function GetWindowTextLength _
    Lib "user32" _
    Alias "GetWindowTextLengthA" ( _
        ByVal hwnd As Long) As Long
 
   
 
 
 
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, LParam As Any) As Long

Private Declare Function SendMessage_Long Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef LParam As Long) As Long

'Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Const BM_CLICK = &HF5&

Private Const WM_KEYUP = &H101
Private Const WM_KEYDOWN = &H100
Private Const WM_SYSKEYDOWN = &H104
Private Const WM_CHAR = &H102
Private Const WM_CLOSE = &H10
Private Const WM_QUIT = &H12


Private Const WM_LBUTTONDOWN  As Long = &H201
Private Const WM_LBUTTONUP    As Long = &H202
Private Const VK_SPACE    As Long = &H20
Private Const VK_ESCAPE    As Long = &H1B



Private Sub Command2_Click()
  Dim Ret As Long, Handle As Long, hParent
  Dim Buffer As String
  Dim ClassName As String
  Dim Caption_Ventana As String
  Dim bwnd As Long, ChildRet As Long
  Dim strBuff As String, ButCap As String

 
    Handle = FindWindow("#32770", vbNullString)
    If Handle <> 0 Then
'        SendMessage Handle, WM_CLOSE, 0, 0
   
        hParent = GetParent(Handle)
    '    MsgBox hParent
        ClassName = Space$(128)
        'Recupera el Classname y lo devuelve en el Buffer
        Ret = GetClassName(Handle, ClassName, 128)
         
        'Extraemos el nombre de la clase
        ClassName = LCase(Left$(ClassName, Ret))
         
        ' Cantidad de caracteres del texto
        Caption_Ventana = String(GetWindowTextLength(Handle), Chr$(0))
        'Retorna el caption
        Call GetWindowText(Handle, Caption_Ventana, 100)
   
        ChildRet = FindWindowEx(Handle, ByVal 0&, "Button", vbNullString)
        If ChildRet <> 0 Then
            strBuff = String(GetWindowTextLength(ChildRet) + 1, Chr$(0))
            GetWindowText ChildRet, strBuff, Len(strBuff)
            ButCap = strBuff
            Do While ChildRet <> 0
                '~~> Check if the caption has the word "Open"
                '~~> For "Save" or "Cancel", replace "Open" with
                '~~> "Save" or "Cancel"
    '            MsgBox ButCap
                If InStr(1, ButCap, "Aceptar") Then
                    '~~> If this is the button we are looking for then exit
                    OpenRet = ChildRet
                    Exit Do
                End If
       
                '~~> Get the handle of the next child window
                ChildRet = FindWindowEx(Ret, ChildRet, "Button", vbNullString)
                '~~> Get the caption of the child window
                strBuff = String(GetWindowTextLength(ChildRet) + 1, Chr$(0))
                GetWindowText ChildRet, strBuff, Len(strBuff)
                ButCap = strBuff
            Loop
            If OpenRet <> 0 Then
    '            MsgBox "The Handle of Open Button is : " & OpenRet
                WindowAPI_Click (OpenRet)
            Else
    '            MsgBox "The Handle of Open Button was not found"
            End If
           
           
        Else
    '        MsgBox "Child Window Not Found"
        End If
    End If
    Me.Cls
    Me.Print " Hwnd : " & Handle
    Me.Print " Hwnd Parent : " & hParent
    Me.Print " Nombre de clase : " & ClassName
    Me.Print " Caption de la ventana : " & Caption_Ventana
End Sub
Public Sub WindowAPI_Click(ByVal hwnd As Long)
Dim retVal As Long
retVal = SendMessage_Long(hwnd, WM_LBUTTONDOWN, 0&, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_LBUTTONDOWN, 0&, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_KEYUP, VK_SPACE, ByVal 0&)
retVal = SendMessage_Long(hwnd, WM_LBUTTONUP, 0&, ByVal 0&)
End Sub





esto ya es opcional cual es la manera mas optima de detectar los botones ya que no en todas las paginas tienen los mismos nombres ni formato y si esta en otro idioma no lo detecta

un saludo
#4
Hola a todos.
Tengo el siguiente problema en mi proyecto tengo un webbroser para coger ciertos datos de una pagina pero cuando voy a cambiar de pagina o la cierro salen cuadros de dialogo de publicidad tipo seguro que quieres salir de la pagina pulsa aceptar para salir.
quedria que esos cuadros de dialogo ni ninguno saliese cuando lo cierre o cambie de ruta.
probé con esto pero no me funciono

Private Sub WebBrowser2_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
   IsChildWindow = False
End Sub


enlace a una imagen:
http://subefotos.com/ver/?86f0a3e61b314dbe88a39be26a3f182co.jpg


un saludo a todos
#5
Hola a todos
Tengo un control Webbrowser el cual necesito que al descargar un archivo el tipico cuadro de dialogo guardar o ejecutar pues se guarde automaticamente en una carpeta.
e mirado miles de ejemplos pero ninguno me funciona y e visto que hay algo para vb.net pero no lo tengo.

un saludo a todos
#6
hola a todos.
como podría abrir una url con algún explorador web.
vi ya algunos códigos pero estos te abren todos en ventanas nuevas.
y yo lo que quería es que si se abre un link y el explorador correspondiente esta abierto abrir una nueva pestaña en vez de una nueva ventana.
se podrían cerrar mediante código las pestañas abiertas.
podría funcionar con los exploradores chrome,opera,mozilla, internet explorer.


un saludo y gracias
#7
hola a todos.
llevo mucho tiempo buscando como poder subir una imagen capturada a hosting.
e mirado muchos ftp pero no me convencen y me daban muchos erroresw y casi ni los entiendo.

vi este ejemplo y es lo que necesito pero salvo un problema los archivos grandes no los puede subir.
mi archivo seria una captura de pantalla y cuando la guardase subirla a mi hosting lo de capturar ya lo tengo implementado ahora solo me falta subirlo.

aqui el link:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=73394&lngWId=1

un saludo y muchas gracias a todos
#8
hola a todos.
hice algunos programas con el control webbrowser, pero mi problema era que muchas veces se suba demasiado en el administrador de tareas y como consentimiento daba error o se cerraba.
hay alguna manera de vaciar lo por asi decirlo cuando cargue cierto numero de paginas o alguna forma de que no las guarde en memoria.


un saludo
#9
Hola todos
tengo un WebBrowser y con un codigo cojo los link y los cargo en un listbox


Private Sub ListarUrl()
Dim i As Integer
   
        List2.Clear
        For i = 0 To WebBrowser1.Document.links.length - 1
            añadirruta (WebBrowser1.Document.links.Item(i))
'            List2.AddItem WebBrowser1.Document.Links.Item(i)
        Next
End Sub



1- quedria que con otro WebBrowser2 valla visitando las paginas una por una el solo.
pero teniendo cuidado porque si no carga del todo el contenido flash de la pagina no vale.

2-como podria hacer para añadir link que valla cargando en alguna pagina en el listbox pero que no se repita ninguno.

3-como guardar los datos del listbox y cargarlos al abrir el formulario.
seria una gran cantidad de link.



la parte que mas me importa es el punto 1
un saludo
y muchas gracias
#10
hola todos

1)-Estoy intentando sacar el contenido de una pagina web de facebook
es sobre los regalos de los juegos casteville y tantos mas....
ejemplo https://apps.facebook.com/playcastleville/receive.php?vid=312829281232177Quest_FeedDefault_farmplot&uid=31282928123&frType=Quest_FeedDefault_farmplot&sendkey=104059e3e1cb10344b01ee9122009ff9%24%24ccF%28NVPV%21%2ApBK-.UzNKZx_0gcLlONyZmTyB6lz8kv8P8ky-eB33jE%2CmqiPTq%28f9AXFwQIRLhn2k_5DM8dXGfBg%28bXcK.-CO6Cr&ref=creative

queria que desde codigo capturar el resultado si se a aceptado el regalo o si a expirado es decir capturar el texto del recuadro.

e probado con estos codigo pero no e conseguido tal dato.



CodigoHTML = WebBrowser1.Document.documentElement.innerHTML
Text1.Text = CodigoHTML


Dim Text As String
Text = WebBrowser1.Document.documentElement.outerHTML
Text1.Text = Text




tambien con un modulo que descarga el codigo fuente pero no me carga el resultado creo que es porque es de codigo flash es contenido.


2)- En los juegos del facebook hay alguna manera de poder mediante programacion que a cierta hora te haga click en ciertos objetos del juego.



un saludo y muchas gracias a todos

#11
Seguridad / ayuda posible virus
26 Febrero 2012, 05:27 AM
hola todos.
Desde hace unos dias en el ordenador cuando ejecuto algunos archivos .exe me salta el antivirus.
tengo el avast y windows 7.

mire en el registro por si algun virus habia modificado la clave
[HKEY_CLASSES_ROOT\exefile\shell\open\command] @="%1" %*
y esta bien no pasa con todos los archivos pero con una gran mayoria cuando
los ejecuto sale un mensaje de avast de que si lo quiero ejecutar en modo sandbox.

le pase el antivirus a todo el sistema y dichos archivos pone que no tienen ningun virus ni nada.

que podia hacer para solucionar dicho problema.


un saludo
#12
hola todos

Hola estoy simulando el lanzamiento de un dado
son 5 veces mediante un ramdim que me facilitaron en un tema anterior.

ahora queria calcular cual es el numero mayor de esos 5 numeros.
yo e intentado con muchos codigos pero no consigo nada.

private sub command1_Click()
dim Mayor

if val(text1)>val(text2) then
mayor=val(tex1)
elseif val(text2)>val(text1) then
mayor=val(text2)
end if

if mayor<val(text3) then
mayor=val(text3)

elseif mayor>val(text3) then
'Nada
end if

text4=mayor
end sub


no funciona cuando alguno de los resultados son iguales o se repiten numeros.
es muy similar lo que quiero hacer al juego parchis cuatro persona y tirar un dado cada una el que mayor numero saque empiezz si empatan vuelven a tirar ellos dos y el que saque mayor numero gana.


un saludo
gracias

#13
hola todos soy nuevo en este foro y espero aportar cosas hoy me toca a mi hacer la pregunta pero quizas sea yo otro dia el que te la responda.

Queria simular el lanzamiento de un dado e probado con el siguiente codigo pero los resultados son casi siempre los mismos es decir que son poco reales los resultados.

  Randomize
  numdado = Int(Rnd * 6) + 1


Habria alguna otra manera de poder obtener unos resultados mas normales al lanzamiento de un dado


tengo tambien otra duda como puedo calcual es el valor mas alto de cinco numeros
he probado con algunos ejemplos que he visto en el foro pero no e tenido muy buenos resultados.


un saludo a todos