如何获取小部件窗口句柄以传递到Qt中的Win32 API MessageBox

最后发布: 2013-10-15 15:03:25


问题

简而言之,我想在Qt5.1.1中使用Qt5.1.1 ,并且我有一个简单的示例。

我想将小部件句柄传递给WinApi函数int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType).

第一个参数(HWND hWnd, ...)

我的尝试:(失败)

WId wind = (HWND)w.winId(); // `w` is the instance of my widget.
MessageBox(wind, "Hello world!", "Message", MB_OK);

如何获取小部件(窗口)句柄,以传递给MessageBox winapi函数?

c++ qt winapi qt5
回答

如果您使用的是Qt,则所有小部件都应具有QWidget::winId()函数。 只需调用winId()即可获得Windows句柄。