elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  si una ventana esta abierta devolver el hwnd
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: si una ventana esta abierta devolver el hwnd  (Leído 5,041 veces)
rubeng

Desconectado Desconectado

Mensajes: 248


Ver Perfil
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #10 en: 13 Septiembre 2007, 22:42 pm »

no sigo con la discusion por que es inutil no terminanos mas
ya consegui su hwnd con esto
Private Sub Form_Load()
Text1.Text = FindWindow(vbNullString, "All rights reserved. Lab Asprise! (c) 1998-2004")
End Sub

otra cosa como hago para cerrar o destruir este msgbox o sino pulsar el boton no de este msgbox alguna idea?


En línea

Xerok1!

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #11 en: 13 Septiembre 2007, 23:03 pm »

Citar
otra cosa como hago para cerrar o destruir este msgbox o sino pulsar el boton no de este msgbox alguna idea?

si envia cn sendkeys la letra "n" XD o si no alt+f4 SendKeys "%{F4}" o enter
 un saludo :xD


« Última modificación: 13 Septiembre 2007, 23:07 pm por Xerok1! » En línea

[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
rubeng

Desconectado Desconectado

Mensajes: 248


Ver Perfil
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #12 en: 13 Septiembre 2007, 23:12 pm »

eso es muy rustico ademas un msgbox no se cierra con alt f4
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #13 en: 14 Septiembre 2007, 06:31 am »

hola lo que tienes que hacer es enumerar los controles de la ventana y cuando encuetras el texto del control es igual al que buscas significa que ya tienes el hwnd del control luego le pudes enviar el mensage click o enter o como al tener &No le puedes enviar el mensate de la letra N  los mensage se envian con SendMessage o PostMessage

aca te hice un ejemplo con una funcion para enviar click al algun control de una ventana
en la funcion tienes que poner el caption de la ventana y seguido el caption del control


En un Modulo
Código:
Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Dim lRetValue As Long
Dim ControlText As String


Public Function EnumChildProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
    Dim sSave As String
    sSave = Space$(GetWindowTextLength(hWnd) + 1)
    GetWindowText hWnd, sSave, Len(sSave)
    sSave = Left$(sSave, Len(sSave) - 1)
    If sSave = ControlText Then
    lRetValue = PostMessage(hWnd, WM_LBUTTONDOWN, ByVal CLng(0), ByVal CLng(0))
    lRetValue = PostMessage(hWnd, WM_LBUTTONUP, ByVal CLng(0), ByVal CLng(0))
    End If
    EnumChildProc = 1
End Function


Public Function MensageClick(WindowsCaption As String, ControlCaption As String)
    Dim Handle As Long
    ControlText = ControlCaption
    Handle = FindWindow(vbNullString, WindowsCaption)
    If Handle = 0 Then Exit Function
    EnumChildWindows Handle, AddressOf EnumChildProc, ByVal 0&
    MensageClick = lRetValue
End Function


y en el formulario
Código:

Private Sub Command1_Click()
ret = MensageClick("All rights reserved. Lab Asprise! (c) 1998-2004", "&No")
MsgBox "Mensage enviado?: " & CBool(ret)
End Sub


Te recomiendo para aprender de apis te vajes el Api-guide de la web y vas a ver muchos ejemplos sobre el manejo de estas

Saludos

En línea

Xerok1!

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #14 en: 14 Septiembre 2007, 11:53 am »

Citar
eso es muy rustico ademas un msgbox no se cierra con alt f4
si es un poco rustico,pero no tube tiempo para pensar otra cosa,de todas formas,a mi si me los cierra cn alt f4  :-\ :-\....y si kieres k no cante muxo,mejr q no salte el msgbox.... :¬¬
un saludo :)
En línea

[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #15 en: 14 Septiembre 2007, 18:06 pm »

O lo dejas invisible con showWindow...
En línea

rubeng

Desconectado Desconectado

Mensajes: 248


Ver Perfil
Re: si una ventana esta abierta devolver el hwnd
« Respuesta #16 en: 15 Septiembre 2007, 00:38 am »

solucionado
gracias leandroa! xerok eon y demas.. ¬¬
salu2
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines