试过winId(),可以获取到id,但是没有效果。
问过厂家,它需要一个CWnd对象,它的dll里是通过传入的HWND转为CWnd的,但是我的环境里,获取QWidget对象的句柄可以,但是其本质还是QWidget对象而不是CWnd,因此没什么效果。
我试了一下,如下的代码编译运行没问你,但没有效果:
HWND hwnd = (HWND)ui->label->winId();
qDebug()<<"hwnd is "<<hwnd<<" is wnd is "<<::IsWindow(hwnd);
qDebug()<<"set text is "<<::SetWindowTextA(hwnd,"Hello");
通过qDebug信息,hwnd有正常值,IsWindow也返回1,SetWindowTextA也返回1,但就是没效果