各位老大,我想屏蔽另一个程序的一个CEdit控件的消息,帮我看看下面的代码,是一csdn的网友给我的,我看着没有什么问题,但在执行OldEditProc = (WNDPROC)SetWindowLong(hwndchild, GWL_WNDPROC,(LONG)SendEditProc);时返回是零,hwndchild是对的,我也查过了,问题在哪儿啊,谢谢大家了
WNDPROC OldEditProc;LRESULT CALLBACK SendEditProc(HWND hEdit,UINT message,WPARAM wParam,LPARAM lParam)
{
int i=0;
switch(message)
{
case WM_KILLFOCUS:
            MessageBox(NULL,"Return","OK", MB_OK);
break;
case WM_SETFOCUS:
   MessageBox(NULL,"Return","OK", MB_OK); break;
case WM_KEYDOWN:
  MessageBox(NULL,"Return","OK", MB_OK);
return 0;
default:
   MessageBox(NULL,"Return","OK", MB_OK); }
return CallWindowProc(OldEditProc,hEdit,message,wParam,lParam);
}
void CCellDlg::OnButton1() 
{
HWND hwndmain=::FindWindow(0,"untitled");
HWND hwndchild=::FindWindowEx(hwndmain,0,"edit",0);
  OldEditProc = (WNDPROC)SetWindowLong(hwndchild, GWL_WNDPROC,(LONG)SendEditProc);
}