★★★★★200分★★★★★求控件HOOK父窗体的消息...
写控件时使用HOOK造成程序溃崩!
以下的代码,在Form1使用HOOK是求MOUSE和键盘消息是很好的。
Public Function Hook&(ByVal hWnd1&)
oldWndProc = SetWindowLong(hWnd1, GWL_WNDPROC, AddressOf NewWndProc)
Hook = oldWndProc
End Function
Public Sub UnHook(ByVal hWnd1&)
SetWindowLong hWnd1, GWL_WNDPROC, oldWndProc
End Sub
Public Function NewWndProc&(ByVal hWnd1&, ByVal uMsg&, ByVal wParam&, ByVal lParam&)
…
NewWndProc = CallWindowProc(oldWndProc, hWnd1, uMsg, wParam, lParam)
End Function
但在自编的一个控件,要HOOK父窗体的消息,可是不管在什么时候一用HOOK,VB6马上消失了。试了N次,无一例外,不解…是这样HOOK的。
Hook Extender.Parent.hwnd
问题点数:100、回复次数:2Top
1 楼songyaowu(不以分多而蹭之;不因分少而不答; www.vb99.com)回复于 2005-01-04 07:50:08 得分 100
应该是用 UserControl.Parent.hwnd 来获得交窗体的句柄!Top
2 楼LWWANDVB(编程小子)回复于 2005-01-04 08:28:53 得分 0
呵呵,我找到原因了.原来HOOK不能连续使用两次,不小心使用了连续了两次造成VB6挂掉.
Extender.Parent.hwnd也可以,但要在form_active事件引发时HOOK.
Top




