Autor Tema: [Help] Saber cuando se refresca un control  (Leído 2952 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
[Help] Saber cuando se refresca un control
« en: Marzo 13, 2011, 11:08:49 am »
Imaginemos que tengo un ImageBox de una aplicación ajena a mi proyecto el cual se refresca cada cierto tiempo.
¿Hay alguna manera de saber cuando se refresca el control? :huh:
Googleé pero no encuentro la forma... Sería algo así como un Hook al control, pero según tengo entendido eso desde vb no se puede... :-(
¿Alguna idea? :-\

DoEvents! :P

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Help] Saber cuando se refresca un control
« Respuesta #1 en: Marzo 13, 2011, 02:07:09 pm »
Hola, yo busque mucho tiempo por el tema del escritorio remoto y no encontre nada, quizas como es una aplicación sola podes hookear inyectando, pero si decis que es un imagebox no tiene hwnd ni hdc asi que se complica mas, si la aplicación es on top podes ir capturando (GetDC + Rect) y comparar los cambios con un timer entre captura y captura, pero bueno ya es medio rebuscado, en general no es facil.

Saludos.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
Re:[Help] Saber cuando se refresca un control
« Respuesta #2 en: Marzo 13, 2011, 02:35:46 pm »
¿Y si tuviera hWnd como un textbox se podria hacer algo?
Gracias :)

DoEvents! :P

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Help] Saber cuando se refresca un control
« Respuesta #3 en: Marzo 13, 2011, 09:16:59 pm »
Hola, fijate te paso un ejemplo utilizando la dll dscwpmsg.dll no itercepta el wm_paint como normalmente se hace en un subclass interno pero bueno hay varios msg con los que podes jugar, no se exactamente que es lo que queres hacer, pero te puede servir.

http://www.mediafire.com/?y7oa55czi0xry3j

primero ejecuta el Test.exe (es el que contiene el textbox) y despues ejecuta el proyecto dscwpmsg.vbp (es el que hookea el textbox)

yo creo que si no es un textbox en el cual no se puede tipear el WM_SETTEXT seria perfecto para lo que buscas, de lo contrario vas a tener que interceptar un par de msg mas (como el WM_KEYDOWN, WM_PASTE, etc).

Saludos.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
Re:[Help] Saber cuando se refresca un control
« Respuesta #4 en: Marzo 14, 2011, 06:06:51 am »
Ook gracias!
No obstate lo solucioné de una manera más cutre (Timer)

DoEvents! :P