Windows 消息的若干疑问(100分)

  • 主题发起人 主题发起人 iame
  • 开始时间 开始时间
I

iame

Unregistered / Unconfirmed
GUEST, unregistred user!
1)系统有一个系统的消息队列,是不是每个Application也有一个消息队列?Thread的消息队列又是怎么一回事?是不是和Application消息队列一样?<br>2)GetMessage()是从本线程消息队列中取消息对不对?PeekMessage()也是从这儿取,两者的区别在哪?Win32API的说明中the PeekMessage function does not wait for a message to be placed in the queue before returning. 何解(这条消息还往那个队列里放)?<br>3)对一些unQueue message,是不是不经过系统消息队列而直接发给Application(Thread?)的消息队列?<br>4)PostMessage()和SendMessage()发出的消息就是些unQueue message吗?<br>5)PostMessage()和PostThreadMessage()的区别在哪?PostMessage()中的HWND是不是和PostThreadMessage()中的Thread ID一一对应?
 
哈哈,windows编程
 
研究这些东西似乎有些浪费时间,<br><br>1).win32提出了抢先多任务,大概是说:逻辑上消息队列是多个,但实际对CPU讲还是<br>一个。Thread 是创建一个新的具有消息处理的Handle,可以理解为一个新的应用程序<br>吧!例如在窗口中放置一个Timer控件,监视其TimerEven,当鼠标按住窗口标题拦时。<br>timer竟然停了。如果是线程则不会!<br>2).GetMessage()和PeekMessage()、PostMessage()和SendMessage()<br>区别在是否等待返回值。<br><br>再写下去要头痛了,总之Delphi的帮助都有,只要E文过关.....
 
接受答案了.
 
后退
顶部