何謂訊息佇列(message queue) ? |
答題得分者是:sos_admin
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
請教大家幾個問題: 0.何謂訊息佇列(message queue) ? 1.訊息佇列是依附執行緒而存在還是視窗控制項或其他原因? 2.當打開電腦時其OS是否也有一個訊息佇列(message queue) ? 3.電腦上每一個應用程式是否也是最少有一個主要執行緒之訊息佇列(message queue) ? 4.程式有無方法可動態新增訊息佇列(message queue) ? 5.從其他網站有說當新增執行緒,執行緒分爲用戶執行緒和工作執行緒,用戶執行緒可有自己的訊息佇列,可定義訊息回應函數,而工作執行緒只有一個線程函數,沒有消息回應,這是否意指 delphi 不能建用戶執行緒,只能建工作執行緒? 但win32 help說藉由呼叫GDI或USER API即可為執行緒新增訊息佇列,程式碼要如何寫? 6.這幾個函數有何區別sendmessage,postmessage,postquitmessage,getmessage,peermessage,waitmessage ? 7.訊息佇列是否也像其他windows物件有一handle識別碼可供程式操作? 8.有那一本書特別有在說明這方面?
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
0.何謂訊息佇列(message queue) ?
Wi n d o w s能够为所有的应用程序维护一个消息队列。应用程序必须从消息队列中获取消息,然后分派给某个窗口。 1.訊息佇列是依附執行緒而存在還是視窗控制項或其他原因?
Wi n d o w s的消息系统 2.當打開電腦時其OS是否也有一個訊息佇列(message queue) ?
会产生消息,然后放到消息队列中 3.電腦上每一個應用程式是否也是最少有一個主要執行緒之訊息佇列(message queue) ?
Wi n d o w s能够为所有的应用程序维护一个消息队列 4.程式有無方法可動態新增訊息佇列(message queue) ?
很多比如任意一个操作动作都会产生消息,也可用postmessage、sendmessage等人为产生消息。 5.從其他網站有說當新增執行緒,執行緒分爲用戶執行緒和工作執行緒,用戶執行緒可有自己的訊息佇列,可定義訊息回應函數,而工作執行緒只有一個線程函數,沒有消息回應,這是否意指 delphi 不能建用戶執行緒,只能建工作執行緒? 但win32 help說藉由呼叫GDI或USER API即可為執行緒新增訊息佇列,程式碼要如何寫?
您说的是自己定义消息的意思吗?windows为用户提供一个可以自己用的消息:
WM_USER + 100到$ 7 F F F (这个范围是Wi n d o w s为用户自定义消息保留的) 6.這幾個函數有何區別sendmessage,postmessage,postquitmessage,getmessage,peermessage,waitmessage ?
S e n d M e s s a g e ( )和P o s t M e s s a g e ( )。这两个函数几乎是一样的,它们的区别是: S e n d M e s s a g e ( )直接把一个消息发送给窗口过程,等消息被处理后才返回。P o s t M e s s a g e ( )只是把消息发送到消息队列,然后立即返回。
S e n d M e s s a g e ( )返回此消息被处理的结果值,而P o s t M e s s a g e ( )返回一个布尔值,表示消息是否
已被放到消息队列中。
上面这两个最常用,其它的您可以到网上search一下 7.訊息佇列是否也像其他windows物件有一handle識別碼可供程式操作?
看看结构您就知道了
t y p e
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPA R A M ; // 32位消息的特定附加信息
lParam: LPA R A M ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置
e 8.有那一本書特別有在說明這方面?
DELPHI 5开发人员指南
还有其它资料,可以到网上找一找哦 总算回答完了!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |