我在第三方地址空间中有一个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
感谢。
答案 0 :(得分:0)
如何使用QApplication,获取所有小部件的列表,然后检查各自的窗口ID?
像
这样的东西foreach (QWidget *widget, QApplication::allWidgets())
{
if(widget->winId() == hwnd)
{
MessageBox(NULL, L"worked\n",NULL, NULL);
}
}