要获取其他窗口的句柄,可以使用Qt的QWindow类和QWindow::fromWinId()方法。具体步骤如下:
首先,获取目标窗口的窗口句柄(HWND)。
使用QWindow::fromWinId()方法将HWND转换为QWindow对象。
通过QWindow对象获取目标窗口的句柄。
以下是一个示例代码片段,演示如何获取其他窗口的句柄:
#include <QGuiApplication>
#include <QWindow>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
// 获取目标窗口的HWND
HWND targetWindowHandle = FindWindow(nullptr, L"Target Window Title");
// 将HWND转换为QWindow对象
QWindow *targetWindow = QWindow::fromWinId((WId)targetWindowHandle);
// 获取目标窗口的句柄
WId targetWindowId = targetWindow->winId();
qDebug() << "Target Window Handle: " << targetWindowId;
return app.exec();
}
请注意,这里的"Target Window Title"是目标窗口的标题,你可以根据实际情况修改为目标窗口的标题或其他标识。