我想HOOK住每个有标题程序中按鼠标右键点击最小化时发出的消息,大家能给个思路吗?就是说当用户右击程序(比如:记事本、画图、WORD等)标题时出现的快捷菜单,然后点击“最小化”时,我的程序怎样得到这个消息(“最小化”)。

解决方案 »

  1.   

    你得先知道这个消息是什么样的消息,才可以HOOK它。
      

  2.   

    Msg = WM_SYSCOMMAND and wParam = SC_MINIMIZE
      

  3.   

    能给个实例或思路吗?vb,delphi都行。
      

  4.   

    1。先使用:
    SetWindowLong(hWnd, GWL_WNDPROC, AddressOf NewWindowProc) 
    它使用了GWL_WNDPROC 索引来创建窗口类的子类,通过这样设置 所有的消息都发给NewWindowProc 函数来接收
    2。定义NewWindowProc:
    Private Function NewWindowProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        if Msg = WM_SYSCOMMAND and wParam = SC_MINIMIZE then
            debug.print "最小话"
            exit function
        end if
        NewWindowProc = CallWindowProc(m_OldWindowProc, hWnd, Msg, wParam, lParam)'把消息返回给窗口默认的处理函数
    end  Function 
      

  5.   

    晕!楼上的为自己拉线啊。你在哪里的注册ID是lockllb吧。
      

  6.   

    呵呵,自己用DELPHI解决了,分数就分给你们吧。