Título: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 18 Agosto 2007, 17:09 pm pues eso alguien sabe como presionar un boton de otra aplicacion? tengo su hwnd class y caption? alguna idea?
salu2 Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: nhaalclkiemr en 18 Agosto 2007, 21:02 pm Pienso que tienes que utilizar la API SendMessage pero no estoy seguro
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: NekroByte en 18 Agosto 2007, 21:10 pm Pienso que tienes que utilizar la API SendMessage pero no estoy seguro Sí, con esa :PTítulo: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 18 Agosto 2007, 23:26 pm buske al respecto por lo que se ve se hace con BM ¿ pero como es la estructura yo tengo el hwnd de la ventana donde se encuentra el boton 526962 y la clase #32770 y el del boton hwnd: 264734 caption : &No type : button como haria para que se presione el boton no de ese msgbox? salu2
gracias Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: LeandroA en 19 Agosto 2007, 00:58 am Hola
Código: Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal Hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Sub Click(Hwnd As Long) lRetValue = PostMessage(Hwnd, WM_LBUTTONDOWN, ByVal CLng(0), ByVal CLng(0)) lRetValue = PostMessage(Hwnd, WM_LBUTTONUP, ByVal CLng(0), ByVal CLng(0)) End Sub Private Sub Command1_Click() Click Command2.Hwnd End Sub Private Sub Command2_Click() Beep End Sub Saludos Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 19 Agosto 2007, 02:02 am bien eso es para usarlo dentro de la misma aplicacion ahora com ose hace para usarlo en otra aplicacion? donde pongo el handle y eso?
salu2 Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: LeandroA en 19 Agosto 2007, 02:16 am hola el Handle o hwnd es el ejemplo del command2 osea donde dice Command2.Hwnd pones el handle que tienes tu, el de la aplicacion externa
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 19 Agosto 2007, 02:49 am Es facil, descargate el Ollydbg, lo instalas, y despues te metes a esta pagina http://www.openrce.org/downloads/details/104/WindowJuggler y descargas el WindowJuggler, lo metes en la carpeta de plugins del olly, sacas el olly, le das Plugins -> WindowJuggler -> WindowJuggler.
Ahi te aparece una ventana con varios titulos, Wnd Handle, Wnd Id, entre otros, el importante en este caso es el Wnd Handle. Presionas el Shift, y llevas con el puntero del mouse hasta donde esta el boton al que le queres dar click, y en Wnd Handle aparece el handle de ese boton (El mismo window juggler trae la opcion para darle click, cerrar, mostrar, esconder, entre otros). Te sale por ejemplo 0xB095A. El codigo de la aplicacion en Visual Código
Ese seria el codigo, en la caja de texto en vez de meter 0xB095A, metes B095A, tenes que quitarle el 0x Creo que es asi como se hace :P saludos! Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 19 Agosto 2007, 16:51 pm la verdad que no me funciona tiene que estar activa la ventana que contiene el boton?
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 19 Agosto 2007, 23:57 pm Sip, si queres me pasas la aplicacion con la que estas ensayando, yo pruebo tambien, para que el codigo que publique pueda funcionar, tanto la ventana como el boton deben estar activos. Ese plugin que te dije, el WindowJuggler, te permite hacer lo que queras, tambien podes activar la ventana, activar botones, maximizar ventanas, esconderlas, entre otras.
Saludos Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 20 Agosto 2007, 04:07 am weno voy a explicar todo desde cero para que se entienda :P
lo que quiero es cerrar un msgbox de un programa ajeno que q es del tipo SI NO lo que quiero hacer es que se presione el boton no paso los datos del msgbox hwnd : 526962 class : #32770 y los del boton No hwnd : 264734 type : button caption : &No pd: se me cierra el ollydbg =S de donde lo puedo bajar? Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 20 Agosto 2007, 04:22 am El problema es que cada vez que abres un programa a sus objetos se les asigna un nuevo handle, voy a ver como hago para obtener el handle de cada objeto de un form, cuando lo obtenga te lo posteo
saludos ;) El ollydbg te lo podes descargar del webstorage de ricardo narvaja ( x'D ), http://ricardonarvaja.info/WEB/OTROS/HERRAMIENTAS/L-M-N-O-P/ Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 31 Agosto 2007, 01:10 am es un msgbox lo q tengo q hacer es cerrarlo o presionar el boton no.. tengo su caption (el titulito de la ventana) creo que con findwindow? alguien tiene un ejemplo? gracias
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 1 Septiembre 2007, 01:48 am algun ejemplo alguna idea?
seria algo asi buscar el msgbox con findwindow (nose hacerlo) y cerrarlo con postmessage o sendmessage distroy o close tampoco se hacerlo alguien tiene idea? graciaas Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 1 Septiembre 2007, 01:56 am Se puede cerrar el messagebox? jajaja pues dime que yo se como hacerle, pensaba que decias que se tenia que oprimir obligatoriamente el boton aceptar :P
Si, dices que si, tonces edito este mensaje saludos ;) Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 1 Septiembre 2007, 17:16 pm si se puede me parece
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 1 Septiembre 2007, 22:47 pm Bueno, prueba esto..
Código
Saludos ;) Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 2 Septiembre 2007, 19:44 pm no funciona estos es como un alt f4 hay q probar algo mas agresivo como wm distroy algo asi
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 2 Septiembre 2007, 20:56 pm Intenta en vez de un SendMessage, un PostMessage:
Código
Si no te funciona, avisa sigo mirando que se puede hacer :P Saludos ;) Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: rubeng en 3 Septiembre 2007, 00:26 am no funciona me parece que es con sendmessage el parametro wm_quit o wm_distroy alguien tiene idea de estos parametros y para que sirve cada uno?
Título: Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption Publicado por: HaDeS, - en 3 Septiembre 2007, 00:46 am WM_QUIT = &H12
WM_DESTROY = &H2 Tanto el Quit, como el Destroy, sirven unicamente para destruir las ventanas de la aplicacion. El quit se utiliza con el PostMessage y sirve para indicar una peticion de terminar a una aplicacion, por consiguiente no es tu opcion utilizar este mensaje. El destroy se envia primero a la ventana de la aplicacion, primero finaliza la ventana padre, y luego todas las ventanas hijdas, por consiguiente esta tampoco es tu opcion. Podes decir que aplicacion es para yo ensayar? Saludos ;) Editado: Ensaya con esto: Código
|