2个回答
展开全部
系统要用到消息队列,它要管理一个系统消息队列和任意数目线程消息队列,每一个队列对应于一个线程。
非队列消息是直接发送到目标窗口过程的,而不通过系统消息队列和线程消息队列。windows系统一般通过发送非队列消息把影响某窗口的事件通知窗口。例如,如果用户激活一个新的应用程序窗口.windows系统就会向该窗口发送一系列的消息,包括:WM_ACTIVATE ,WM_SETFOCUS和WM_SETCURSOR,这些消息分别通知窗口:它被激活了;将通过这个窗口进行键盘输入;鼠标已移到这个窗口边框的里面了。非队列消息也有可能发生在应用程序调用一个windows系统函数时,例如,在应用程序用函数SetWindowPos来移动一个窗口之后,windows系统发送一条WM_WINDOWPOSCHANGED消息。
应用程序是调用函数SendMessage、SendNotifyMessage或SendDlgItemMessage发送消息的。
非队列消息是直接发送到目标窗口过程的,而不通过系统消息队列和线程消息队列。windows系统一般通过发送非队列消息把影响某窗口的事件通知窗口。例如,如果用户激活一个新的应用程序窗口.windows系统就会向该窗口发送一系列的消息,包括:WM_ACTIVATE ,WM_SETFOCUS和WM_SETCURSOR,这些消息分别通知窗口:它被激活了;将通过这个窗口进行键盘输入;鼠标已移到这个窗口边框的里面了。非队列消息也有可能发生在应用程序调用一个windows系统函数时,例如,在应用程序用函数SetWindowPos来移动一个窗口之后,windows系统发送一条WM_WINDOWPOSCHANGED消息。
应用程序是调用函数SendMessage、SendNotifyMessage或SendDlgItemMessage发送消息的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询