分享

一个关于鼠标SetCapture()的问题!

 quasiceo 2015-07-24
在Win16中,调用SetCapture后可以得到所有的鼠标消息。
但在Win32中,SetCapture只对本进程创建的窗口有效,对其他进程的窗口无效:
即一旦鼠标移到了其他进程的窗口,你依然收不到鼠标消息。
但有一个特例,即按住鼠标键不放时,对所有系统的窗口都有效。
换句话说,假如你在WM_LBUTTONDOWN时调用SetCapture,
然后按住鼠标左键移动到其他窗口上,那么即使窗口是别的进程的,
你的窗口依然可以收到WM_MOUSEMOVE和WM_LBUTTONUP消息。
这样在WM_LBUTTONUP时你就可以得到鼠标所在的窗口句柄。
使用这种方法可以避免使用SetWindowsHookEx。Spy++用的正是这种方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多