不用做钩子这么麻烦
既然已知窗口句柄,你可以设置这个窗口的窗口处理过程,which goes like this:
void __fastcall TForm1::NewProc(TMessag e &Message)
{
switch (Msg.Msg)
{
case WM_ERASEBKGND:
case WM_MOUSEMOVE:
case WM_LBUTTONDOWN:
case WM_DROPDWON:
}
}
void *OldProc;
void SaveOldWindowProc(HWND hWnd)
{
/First of all,save the old windowproc pointer;
OldProc=::GetWindowLong(hWnd,GWL_WNDPROC);
//Set the new windowproc to process the message
}
void SetNewWindowProc(HWND hWnd)
{
void *ObjectInstance=::MakeObjectInstance(NewProc)
::SetWindowLong(hWnd,GWL_WNDPROC,(long)ObjectInstance);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{