有没有可能同时点到Windows窗体程序的两个不同按钮?

很小的时候使用电脑时就好奇过一个问题,我鼠标去点击一个位置,如果目标位置看起来和另一个按钮区域很贴合,为什么能够真正的所见所得?即:渲染的按钮位置很大,两个按钮很近,鼠标的点击位置虽然只是一个小尖尖,但有没有可能让这个小尖尖同时点到两个按钮?

并且为这个年幼时提出的问题补充一个后续:这种情况下的硬件中断事件是如何被消息处理器处理的?

正文

Windows 为每个程序(严格地说是每个线程)维护一个消息队列,Windows 检查系统消息队列里消息的发生位置,当位置位于某个应用程序的窗口范围内的时候,就把这个消息派送到应用程序的消息队列里

另外参见WM_SETCURSOR文档

基本来说,这也解决了为什么程序可以做到:当鼠标快速在不同窗口之间来回游走时,快速切换鼠标样式(由程序控制的鼠标样式)

所以最前面的问题的答案是,不可能

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2019-2024 kier Val
  • Visitors: | Views: