WindowFromDC数问题

kery_du 2009-11-17 05:14:45
我HOOK了 BitBlt 这个函数 想通过WindowFromDC(hdcDest)获得目标窗口句柄,为什么每次得到的都是NULL,总是得不到目标窗口的句柄. 望高手解答


BitBlt(HDC hdcDest, // handle to destination device context
int nXDest, // x-coordinate of destination rectangle's upper-left // corner
int nYDest, // y-coordinate of destination rectangle's upper-left // corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
HDC hdcSrc, // handle to source device context
int nXSrc, // x-coordinate of source rectangle's upper-left // corner
int nYSrc, // y-coordinate of source rectangle's upper-left // corner
DWORD dwRop )
...全文
423 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmzzy 2009-11-18
  • 打赏
  • 举报
回复
尝试用int GetClipBox(HDC hdc ,LPRECT lprc);试试获取HDC的剪切区域,然后再用别的方法去获取那个窗口句柄(比如EnumWindows等),将HDC获取到的RECT与窗口对应的RECT比较
kery_du 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 stjay 的回复:]
可能是Compatible DC(内存兼容DC),
HDC hdcDest,HDC hdcSrc,其中之一应该有个是 关联了窗口的DC
[/Quote]
两个我都试过了,得到的都是NULL
kery_du 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xmzzy 的回复:]
看看你的窗口是不是可见或别的什么属性,所我所知QQ2009的子窗口,你用WindowFromDC是获取不到窗口句柄的
[/Quote]
我的窗口是隐藏的,有没有办法实现?
stjay 2009-11-17
  • 打赏
  • 举报
回复
可能是Compatible DC(内存兼容DC),
HDC hdcDest,HDC hdcSrc,其中之一应该有个是 关联了窗口的DC
xmzzy 2009-11-17
  • 打赏
  • 举报
回复
看看你的窗口是不是可见或别的什么属性,所我所知QQ2009的子窗口,你用WindowFromDC是获取不到窗口句柄的

15,976

社区成员

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

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