?
經查資料得如下信息:
1)操作系統通過RIT(raw input thread,RIT)等待系統硬件輸入隊列(system hardware input queue,SHIQ)的消息,一旦鼠標或鍵盤發生操作,系統就向SHIQ添加一條硬件事件,這時RIT將被喚醒,并從SHIQ中取出這個事件,轉換成適當的WM_KEY***、WM_?BUTTON***、WM_MOUSEMOVE等消息添加到適當線程消息隊列(VIQ)中,RIT判斷適當線程的機制:
??1.對于鼠標消息,RIT只是確定是哪一個窗口在鼠標光標之下。利用這個窗口,RIT調用GetWindowThreadProcessID來確定是哪一個線程建立了這個窗口,那么就把消息發送到這個線程的線程消息隊列(VIQ)中。
??2.對于按鍵消息,在 任何時刻只有一個線程與RIT“連接”,與之相連的這個線程稱為前景線程(foreground thread),也就是說RIT將把消息發送到建立當前獲得焦點的窗口的線程的線程的線程消息隊列(VIQ)中。