大概在里面做了些什么?
有人能讲出个框架来么

解决方案 »

  1.   

    我说说我的看法,不对请大家指正首先从hwnd中用getclasslong可以得到wndproc地址,接着直接调用
      

  2.   

    一言以蔽之:
    在操作系统中存在几个表,通过查询这几个表,即可将消息放于指定的窗口的消息队列.
    指定窗口在获得时间片后,会GetMessage()之类的去获取消息队列中的消息,然后XXX...
      

  3.   

    SendMessage()把响应的消息发到系统消息队列
    然后系统发给相应的进程消息队列
    程序通过GetMessage()等函数取得消息后“翻译”并“分发”
    再通过窗口回调或其他处理函数进行处理
      

  4.   

    sendmessage是直接呼叫窗口函数.
    postmessage才是把消息发到队列中的.
      

  5.   

    楼上说的对,sendmessage不会将消息发送到队列中,而是直接发送给应用程序进行处理
      

  6.   

    从操作系统的角度来说,对消息的处理不应该会"直接呼叫",毕竟,操作系统不能去打破程序的运行顺序.
    send和post的本质区别应该在于send会阻塞,消息被处理前该函数不返回而post会立即返回而已.
    当然,也许send的消息会被目标进程的GetMessage()优先得到,而不会放到那个普通的消息队列里面.
    不过我感觉send的消息会不会还是有自己的队列啊,要不然其它不同进程向某窗口同时send了几个消息怎么办?
      

  7.   

    对了对了,晕S,以前看过windows核心编程里面有讲这个的。
    第26章   窗口消息