如何获得焦点窗口句柄?

Posted

技术标签:

【中文标题】如何获得焦点窗口句柄?【英文标题】:How to get On Focus CWindow handle? 【发布时间】:2008-11-03 11:09:49 【问题描述】:

有没有办法获得具有焦点的控件的句柄? 我正在寻找一种在我的应用程序中获取焦点控件 ID 的方法。

之后就很容易用GetDlgCtrlID获取id了。

CWnd *pwnd = GetWindowOnFocus(); 
int wID = pwnd->GetDlgCtrlID();

我缺少的是 GetWindowOnFocus 部分!

【问题讨论】:

【参考方案1】:

看看静态的CWnd::GetFocus 方法。

【讨论】:

GetFocus 将 HWND 还给我 - 不知道如何从 HWND 获取控件 ID :-) 你需要调用静态CWnd::GetFocus方法,它返回一个CWnd*,而不是Win32 ::GetFocus函数,它返回一个HWND。

以上是关于如何获得焦点窗口句柄?的主要内容,如果未能解决你的问题,请参考以下文章

delphi 获取自身句柄

c# 在知道数据窗口的句柄的时候如何获得数据窗口的数据

vb.net中如何获得某个窗口的句柄

如何获取控件句柄 vc

vb中如何获得一个窗口的句柄

VB 获得窗口句柄