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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [AYUDA] Mouse Hook
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] Mouse Hook  (Leído 6,172 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: [AYUDA] Mouse Hook
« Respuesta #10 en: 26 Marzo 2013, 15:59 pm »

Misma burra, nomás que revolcada:

Voy a finalizar la aplicación (la que pone los hooks), antes de que finalice doy por terminado el hook del mouse:

Código
  1. UnhookWindowsHookEx(msHook)

Después que "finaliza" la aplicación, la función que procesa el hook sigue funcionando lo cual provoca que se "frezee" Windows (hasta no cerrar el IDE de visual basic) o se cierra el IDE por si sólo. (porque no es todavía una aplicación, lo estoy corriendo del IDE). Para probar "mi teoría" puse "debug.print "Hola, sigo funcionando aún despues de hacer unhook ;)", y sí, el mensaje sigue apareciendo aún después de detener el programa:

¿Saben de alguna forma de terminar con el hook o manejarlo de tal manera que no suceda ésto?

Perdonen, saludos y gracias.

En que procedimiento remueves el hook? Y de que forma estas terminando?
Asegurate que esta pasando sobre la funcion que remueve el hook y el retorno de la función. Si estas en presionando el boton parar del IDE, ese es el problema.


En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [AYUDA] Mouse Hook
« Respuesta #11 en: 26 Marzo 2013, 16:32 pm »

La app tiene un procedimiento para terminar los hooks y es llamado al finalizar la aplicación (ojo: finalizar, no parar el programa en el  IDE). En ese procedimiento:

Código
  1. funcion finalizarApp()
  2. ...
  3. call UnhookWindowsHookEx(msHook)
  4. hooks = false 'Esta bandera la utilizo para saber el estado de los hooks.
  5. ...
  6.  

Con la bandera "hooks" me aseguro que se haya pasado por el procedimiento que remueve los hooks. En la función que recibe al hook:

Código
  1. Public Function MSProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
  2.  
  3.    if not hooks then  debug.print "Hola, sigo funcionando después de hacer unhook, ¿te jode?"
  4.  
  5.    If nCode = 0 Then
  6.        'TODO
  7.    Else
  8.        If hooks Then msHook = CallNextHookEx(msHook, nCode, wParam, lParam)
  9.    End If
  10. End Function
  11.  

No recuerdo porque hice de esta forma la función, y no entiendo bien el para qué de "CallNextHookEx"...

Saludos y gracias.


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: [AYUDA] Mouse Hook
« Respuesta #12 en: 26 Marzo 2013, 22:12 pm »

La app tiene un procedimiento para terminar los hooks y es llamado al finalizar la aplicación (ojo: finalizar, no parar el programa en el  IDE). En ese procedimiento:

Código
  1. funcion finalizarApp()
  2. ...
  3. call UnhookWindowsHookEx(msHook)
  4. hooks = false 'Esta bandera la utilizo para saber el estado de los hooks.
  5. ...
  6.  

Con la bandera "hooks" me aseguro que se haya pasado por el procedimiento que remueve los hooks. En la función que recibe al hook:

Código
  1. Public Function MSProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
  2.  
  3.    if not hooks then  debug.print "Hola, sigo funcionando después de hacer unhook, ¿te jode?"
  4.  
  5.    If nCode = 0 Then
  6.        'TODO
  7.    Else
  8.        If hooks Then msHook = CallNextHookEx(msHook, nCode, wParam, lParam)
  9.    End If
  10. End Function
  11.  

No recuerdo porque hice de esta forma la función, y no entiendo bien el para qué de "CallNextHookEx"...

Saludos y gracias.

Yo no tengo ningun problema, Iniciar:
Código:
hook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseMonitorWinProc, App.hInstance, 0&)
Remover:
Código:
call UnhookWindowsHookEx(hook)

De lo contrario verifica el valor de UnHookWindowsHookEx y el ultimo error.
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Api hook
Ingeniería Inversa
el_chavo 0 2,635 Último mensaje 7 Febrero 2009, 23:43 pm
por el_chavo
No entiendo como hacer un hook al mouse
Programación Visual Basic
Elemental Code 2 3,277 Último mensaje 10 Octubre 2010, 22:25 pm
por Slek Hacker
Bloquear mouse - (Hook?)
Programación Visual Basic
Elemental Code 3 3,232 Último mensaje 30 Marzo 2012, 06:59 am
por rembolso
Hook al mouse [C++]
Programación C/C++
carbon1 0 1,542 Último mensaje 27 Julio 2012, 19:07 pm
por carbon1
Ayuda Ejemplo HOOK de Mouse
Programación C/C++
tupapa007 3 2,475 Último mensaje 13 Mayo 2014, 08:53 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines