无法找到第三方QWidget注入代码& QWidget的::发现(HWND)

时间:2011-01-05 00:05:23

标签: qt dll hook code-injection qwidget

我在第三方地址空间中有一个dll,使用cbt钩子挂钩。但是,当我尝试这样做时:

HWND hwnd = FindWindow(wct_target_wnd);
    QWidget* widget = QWidget::find(hwnd);
    if(widget != 0) 
    {
        MessageBox(NULL, L"worked\n",NULL, NULL);
    }

我知道小部件在那里,hwnd是正确的,我似乎无法获得指向它的指针。

根据我读过的所有内容,这应该有效,但它总是返回零,有人可以提出原因吗?

c ++ visual-studio-2008

感谢。

1 个答案:

答案 0 :(得分:0)

如何使用QApplication,获取所有小部件的列表,然后检查各自的窗口ID?

这样的东西
foreach (QWidget *widget, QApplication::allWidgets())
{
     if(widget->winId() == hwnd)
     {
         MessageBox(NULL, L"worked\n",NULL, NULL);
     }
}