获取当前窗口句柄的方法取决于当前所在的程序环境。以下是一些常见环境下获取当前窗口句柄的方法:
- 在 Windows 环境下,可以使用
GetForegroundWindow
函数来获取当前激活窗口的句柄。例如:
HWND hwnd = ::GetForegroundWindow();
- 在 MFC 程序中,可以使用
CWnd::GetForegroundWindow
函数获取当前激活窗口的CWnd
对象,然后再使用CWnd::GetSafeHwnd
函数获取窗口句柄。例如:
CWnd* pWnd = CWnd::GetForegroundWindow(); HWND hwnd = pWnd->GetSafeHwnd();
- 在 Qt 程序中,可以使用
QApplication::activeWindow
函数获取当前激活窗口的QWidget
对象,然后再使用QWidget::winId
函数获取窗口句柄。例如:
QWidget* pWidget = QApplication::activeWindow(); HWND hwnd = (HWND)pWidget->winId();
需要注意的是,以上方法都是获取当前激活窗口的句柄,如果需要获取当前程序主窗口的句柄,可以使用不同的方法,例如在 MFC 程序中,可以使用 AfxGetMainWnd
函数获取主窗口的指针,然后再使用 CWnd::GetSafeHwnd
函数获取窗口句柄。
评论