如题,我拦截到的是从MENU中发出的消息

解决方案 »

  1.   

    重载wndproc活着写拦截WM_COMMAND方法,接收到WM_COMMAND后,直接Exit
      

  2.   

    接收到WM_COMMAND后,直接Exit 不行啊我是装了HOOK 拦截到的直接EXIT的话好象不起作用
      

  3.   


    procedure WMCommand(var Message: TWMCommand); message WM_COMMAND;
    procedure TForm1.WMCommand(var Message: TWMCommand);
    begin
      //这里处理,不执行就Exit;
    end;
      

  4.   

    不是用这样的方式来做的 你的这个我知道我是先加载了HOOK的我的目的是想让别人的一个EXE中的某一按钮按下去不响应
      

  5.   

    好象是返回值上的区别吧,忘了.不知道HOOK的类型能不能修改消息,如能就好办了:
    WM_COMMAND  
    wNotifyCode = HIWORD(wParam); // notification code 
    wID = LOWORD(wParam);         // item, control, or accelerator identifier 
    hwndCtl = (HWND) lParam;      // handle of control 
    把wID改 成一个不存在的ID,10000总够了,呵呵
      

  6.   

    可以了 
    minizhuxianchun我是直接把发送的消息类型替换掉了嘿嘿 
      

  7.   


    钩WM_LBUTTONDOWN 消息,然后判断根据鼠标位置来判断是否在按钮内,如果是就EXIT
      

  8.   

    自己完成了 分刚结掉 sanguomi 不好意思了