如何截获Windows消息???
举例说明,比如截获鼠标右键单击标题栏的消息,使系统菜单不能弹出!

解决方案 »

  1.   

    WM_NCHITTEST
    WM_NCLBUTTONDBLCLK
    WM_NCLBUTTONDOWN
    WM_NCLBUTTONUP
    WM_NCMBUTTONDBLCLK
    WM_NCMBUTTONDOWN
    WM_NCMBUTTONUP
    WM_NCMOUSEMOVE
    WM_NCRBUTTONDBLCLK
    WM_NCRBUTTONDOWN
    WM_NCRBUTTONUP这些都是关于鼠标在非客户区的窗口范围内的消息。
    你重载或在WinProc中加上就可以啦。
      

  2.   

    Easy!很多方法:1) 使用 TApplicationEvents
    2) 使用 Application.OnMessage
    3) 使用 message 例如 procedure WMSIZE(var message:TWM_SIZE);message WM_SIZE;
    4) 重载WndProc (GetWindowsLong,SetWindowLong,MakeObjectInstance)
      

  3.   

    如果只是在自己的程序中WM_NCHITTEST可以解决很多问题,如果要监测系统的消息,用钩子!HOOKAPI
      

  4.   

    看过一些hook的文章,不是太理解~
    有没有那位可以把自己的心得写出来看看~??