不用时间控件,如何接收SENDMESSAGE发过来的内容?例如有FORM1和FORM2两个,FORM1是负责用sendmessage发送信
不用时间控件,如何接收SENDMESSAGE发过来的内容?
例如有FORM1和FORM2两个,FORM1是负责用sendmessage发送信息,FORM2是接收信息的,我不想用TIMER,如何能即时的接收FORM1发来的信息呢?最好能有获取信息马上触发的涵数就最好,谢谢.
[解决办法]
回调,新建一模块,把如下代码粘贴进去
- VB code
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPublic Const GWL_WNDPROC = (-4)Global PrevProc As Long '旧窗口过程Public Sub HookForm(F As Form) PrevProc = GetWindowLong(F.hWnd, GWL_WNDPROC) SetWindowLong F.hWnd, GWL_WNDPROC, AddressOf WindowProcEnd SubPublic Sub UnHookForm(F As Form) SetWindowLong F.hWnd, GWL_WNDPROC, PrevProcEnd SubFunction WindowProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If uMsg = 你的消息 Then ... 你的处理过程 ... End IfWindowProc = CallWindowProc(PrevProc, hWnd, uMsg, wParam, lParam)End Function
