要獲取其他窗口的句柄,可以使用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"是目標窗口的標題,你可以根據實際情況修改為目標窗口的標題或其他標識。