全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4335
推到 Plurk!
推到 Facebook!

何謂訊息佇列(message queue) ?

答題得分者是:sos_admin
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-29 01:20:59 IP:203.70.xxx.xxx 未訂閱
請教大家幾個問題: 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-29 08:17:48 IP:61.155.xxx.xxx 未訂閱
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开发人员指南 还有其它资料,可以到网上找一找哦 总算回答完了!
系統時間:2024-05-04 22:06:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!