想要实现类似SPY++ Find Windows那种效果,可是用WindowFromPoint只能抓到Enabled窗口,Disabled窗口抓不到。
而且窗口在GroupBox里面的时候,经常只能抓到GroupBox而抓不到控件窗口。
如何抓到鼠标指针位置的Disabled按钮的Handle(按钮在GroupBox里面)?

解决方案 »

  1.   

    GetCursor 得到Point, 首先判断是否在GroupBox窗口内,然后判断是否在Disabled窗口控件内,取窗口控件矩形区域,PtInRect; 注意客户区与屏幕坐标转换
      

  2.   

    可是怎么知道是否在Disabled窗口空间内呢?抓不到Hanlde,判断不来阿
      

  3.   

     问题解决了,如果抓到的是GroupBox的话,就抓GroupBox的Parent,然后EnumChildWindows找有WS_VISIBLE,没WS_EX_TRANSPARENT和BS_GROUPBOX属性的窗口