api里的定义的Notification和Message有什么区别?

解决方案 »

  1.   

    SendMessage将消息发送给指定的窗口,等待接收纯种的应答
    SendNotifyMessage将消息发送给指定的窗口,立即返回到调用线程,这一点与PostMessage一样,但SendNotifyMessage与PostMessage又有两点不同:
    1、SendNotifyMessage将消息发送给另外的线程所创建的窗口时,发送的消息比存放在接收线程登记消息队列中的消息有更高的优先级,即由SendNotifyMessage函数存放在队列中的消息总是在PostMessage函数登记到队列中的消息之前取出;
    2、SendNotifyMessage将消息发送给调用线程所创建的窗口时(即同一线程),SendNotifyMessage与SendMessage完全一样
      

  2.   

    总结:
    SendNotifyMessag 和PostMessage 一样直道处理完成才返回
    SendMessage是在发送 发送时立刻返回不等待MSDN的介绍
    SendMessage:--------------The SendMessage function sends the specified message to a window or windows. It calls the window procedure for the specified window and does not return until the window procedure has processed the message. SendNotifyMessage:--------------The SendNotifyMessage function sends the specified message to a window or windows. If the window was created by the calling thread, SendNotifyMessage calls the window procedure for the window and does not return until the window procedure has processed the message. If the window was created by a different thread, SendNotifyMessage passes the message to the window procedure and returns immediately; it does not wait for the window procedure to finish processing the message.
      

  3.   

    notifymessage一般是控件发出的,通知给父窗口
      

  4.   

    skd里,比如说Keyboard Input 
    它下面分为
    Functions
    Messages
    Notifications
    Structures上面的Messages和Notifications是根据什么划分的?
      

  5.   

    Visual C++ 概念:添加功能   消息类别为哪一种消息编写处理程序?有三种主要的消息类别: Windows 消息 
    此类消息主要包括以前缀 WM_ 开头的消息,WM_COMMAND 除外。Windows 消息由窗口和视图处理。此类消息往往带有用于确定如何处理消息的参数。 控件通知 
    此类消息包括从控件和其他子窗口发送到其父窗口的 WM_COMMAND 通知消息。例如,当用户在编辑控件 (Edit Control) 中执行可能更改文本的操作后,该编辑控件 (Edit Control) 将向其父级发送包含 EN_CHANGE 控件通知代码的 WM_COMMAND 消息。该消息的窗口处理程序以某种适当的方式响应此通知消息,例如在控件中检索该文本。 框架像传送其他 WM_ 消息一样传送控件通知消息。但是有一个例外的情况,即当用户单击按钮时由按钮发送的 BN_CLICKED 控件通知消息。该消息被作为命令消息特别处理,并像其他命令一样传送。 命令消息 
    此类消息包括用户界面对象(菜单、工具栏按钮和快捷键)发出的 WM_COMMAND 通知消息。框架处理命令的方式与处理其他消息不同,可以使用更多种类的对象处理命令,详见命令目标中的解释。 Windows 消息和控件通知消息
    类别 1 和 2 中的消息(Windows 消息和控件通知)由窗口来处理(窗口是从 CWnd 类派生的类的对象)。包括 CFrameWnd、CMDIFrameWnd、CMDIChildWnd、CView、CDialog 以及从这些基类派生的您自己的类。这些对象封装了 HWND(Windows 窗口的句柄)。命令消息
    类别 3 中的消息(命令)可以由范围更广的对象(文档、文档模板以及应用程序对象本身)处理,而不仅仅由窗口和视图处理。当某一命令直接影响到某个特定对象时,应当让该对象处理此命令。例如,“文件”菜单中的“打开”命令在逻辑上与应用程序相关联:该应用程序接收到此命令时会打开指定的文档。因此“打开”命令的处理程序是应用程序类的成员函数。有关命令及其如何传送到对象的更多信息,请参见框架调用处理程序的方式。请参见
    框架中的消息和命令