1

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

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

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

根据我读过的所有内容,这应该可以工作,但它总是返回零,有人可以建议为什么吗?

时间:2019-05-10 标签:c++visual-studio-2008

谢谢。

4

1 回答 1

0

使用 QApplication,获取所有小部件的列表,然后检查它们各自的窗口 ID 怎么样?

就像是

foreach (QWidget *widget, QApplication::allWidgets())
{
     if(widget->winId() == hwnd)
     {
         MessageBox(NULL, L"worked\n",NULL, NULL);
     }
}
于 2011-01-05T00:43:45.647 回答