Cómo utilizar la función HOOK en VB para interceptar un evento de clic en un botón
'------------------------------------------ código de ventana
Sub comando privado1_Click()
MsgBox 1
Fin Sub
Sub privado Form_Load()
Esta es la primera vez que crea una ventana usando un procedimiento de ventana. Private Sub Form_Load()
OldPrc = SetWindowLong(Command1.hwnd, -4, AddressOf CommandProc)
End Sub
'------ - ------------------------------- Código del módulo
Función de declaración CallWindowProc Lib "user32" alias "CallWindowProcA " (ByVal lpPrevWndFunc mientras, ByVal hwnd mientras, ByVal Msg mientras, ByVal wParam mientras, ByVal lParam mientras) Mientras
Declarar función SetWindowLong Lib "user32" Alias "SetWindowLongA" ( ByVal hwnd Mientras, ByVal nIndex Mientras, ByVal dwNewLong Mientras) Mientras
Público OldPrc Mientras
Función pública CommandProc(ByVal hwnd Mientras, ByVal Msg Mientras, ByVal wParam As Long , ByVal lParam As Long) As Long
Debug.Print Hex(Msg)
Si Msg = amp.H201 o Msg = amp;H100, salga de la función p>
CommandProc = CallWindowProc(OldPrc, hwnd, Msg, wParam, lParam)
Función final
'Recordatorio especial. El proceso de ventana de la ventana del formulario se ejecuta según el tipo de mensaje.
Hemos escrito algunos métodos de comando.
Para obtener más información, consulte MSDN o Windows Core Programming para mensajes de Windows. Mecanismo.