Windows鼠标光标和raw input处理的问题

xade 2010-02-27 02:54:03
windows 中通过控制面板可以改变鼠标的光标,但是无法设置为大于 32x32 的光标,如果采用的光标大于 32x32 会被自动缩小到 32x32 的尺寸,这个缩小的过程和应用改变光标位图的过程是哪个线程负责的?光标在内存中的位图数据和资源句柄又是由系统的哪个线程/进程维护的?

windows 有个 raw input thread 来处理键盘鼠标队列,键盘鼠标同系统的交互应该是通过硬件中断进行的,当键盘鼠标被按下或者移动后,硬件产生中断,这个中断应该是通过系统的中断服务例程发送了 IRP 到驱动程序,这个 IRP 的类型是什么?

驱动接收到中断发来的 IRP 完成处理之后向 SHIQ 追加一个 event 唤醒 RIT 对新的输入进行处理,RIT 会将 event 里的内容转换为各种键盘鼠标消息,那么在使用 raw input API 的时候,是否也是由 RIT 将 event 转换为 WM_INPUT?
...全文
631 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Unpacker 2010-04-04
  • 打赏
  • 举报
回复
csrss(环境子系统)进程中有两个raw input thread,专门负责读取键盘和鼠标事件,比如键盘按键读取线程,不停地向顶层键盘过滤驱动发出读请求,并阻塞在核心,当键盘有按键时,产生硬件中断,Dpc完成IRP请求,线程执行流从核心返回用户态,然后线程通过LPC将按键事件发到特定的线程中,然后继续下一个循环
JustFromHell 2010-03-24
  • 打赏
  • 举报
回复
搭车学习。。。。。。。。。。
sunchaohuang 2010-03-19
  • 打赏
  • 举报
回复
关注此问题

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧