I am trying to convert a Qt4 Application to Qt5.
The only thing I couldn't figure out is how to get the HWND of a Widget.
The program uses EcWin7 to show the progress on the taskbar icon on win 7+ but expects a HWND. The lib itself seems to compile fine after changing *Q_WS_WIN* to *Q_OS_WIN*)
In Qt4 on Windows WId was just a typedef for HWND, so this was no problem.
In Qt5 this is not the case anymore.
I found some mailing list posting that could give a clue but it seems QPlatformNativeInterface is not part of the public API of Qt5 anymore.
The program calls EcWin7.init(this->winId()); and I need to some way to convert this ID into the HWND id or some other way to get this.
解决方案
In Qt5 winEvent was replaced by nativeEvent:
bool winEvent(MSG* pMsg, long* result)
is now
bool nativeEvent(const QByteA