¿Cuál es el equivalente de WinForms a la siguiente línea de código WPF?HWnd Message Hook en WinForms?
HwndSource.FromHwnd(_windowHandle).AddHook(HwndSourceHookHandler);
¿Cuál es el equivalente de WinForms a la siguiente línea de código WPF?HWnd Message Hook en WinForms?
HwndSource.FromHwnd(_windowHandle).AddHook(HwndSourceHookHandler);
En WinForms, habitualmente se override WndProc en el control/formulario en cuestión. Como cada control es efectivamente un HWND
, no necesita el estilo de enganche HwndSource
.
Si desea configurar un gancho en C#, puede seguir las directrices de How to set a Windows hook in Visual C# .NET.
Dentro de su propio proceso, puede usar el Application.AddMessageFilter method para escuchar eventos específicos antes de enviarlos a cualquier parte. Esto no funciona entre procesos.
Encontré esto mientras buscaba una respuesta a uno de my questions sobre el manejo de eventos de mouse entre controles primarios y secundarios.
Gracias - Agradezco su opinión. Estoy buscando tener una clase, separada de la forma respectiva, manejar el registro de mensajes, etc., donde el constructor tomará una instancia de la Ventana/Formulario, momento en el que necesito saber cómo, usando la ventana/formulario manejar, para registrar los mensajes. Disculpas si mi publicación inicial no fue clara. – Chris
@Chris: ¿Está después de cómo configurar un enganche de Windows, es decir: http://support.microsoft.com/kb/318804 –
También vea: http://msdn.microsoft.com/en-us/library/ms632589 (VS.85) .aspx para obtener detalles completos sobre los ganchos –