如何在Qt中处理(接收/发送)MFC或Windows消息(直接覆盖MainDialog::nativeEvent,或者QApplication::installNativeEventFilter安装过滤器,或者直接改写QApplication::nativeEventFilter)
关于接收:
Receive WM_COPYDATA messages in a Qt app.
还有个中文网站:
关于发送:
用Qt在Windows下编程,如何调用Windows系统的API?
稍后会把内容补上
后来,Qt5把winEvent函数废弃掉了,换成bool QWidget::nativeEvent(const QByteArray & eventType, void * message, long * result)函数了:
这里有个举例子
http://blog.csdn.NET/slug302/article/details/17212521
- bool MainDialog::nativeEvent(const QByteArray &eventType, void *message, long *result)
- {
- Q_UNUSED(eventType);
- MSG* msg = reinterpret_cast<MSG*>(message);
- return winEvent(msg, result);
- }
- bool MainDialog::winEvent(MSG *message, long *result)
- {
- ...
- if (message->message != WM_NCHITTEST )
- {
- #if QT_VERSION < 0x050000
- return QDialog::winEvent(message, result);
- #else
- return QDialog::nativeEvent("", message, result);
- #endif
- }
- ...
- }
http://blog.csdn.net/lslxdx/article/details/7406861
http://blog.csdn.net/haluoluo211/article/details/45826425
http://blog.chinaunix.net/uid-13830775-id-262362.html
http://www.voidcn.com/blog/debugconsole/article/p-2948646.html
http://www.bozhiyue.com/anroid/wenzhang/2016/0427/38604.html