TC官方合作论坛

 找回密码
 立即注册
查看: 1346|回复: 1

BUG反馈。窗口获取键盘焦点所在句柄() 的错误。

[复制链接]
发表于 2017-6-29 18:48:24 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
BUG反馈。窗口获取键盘焦点所在句柄() 的错误。
所在目录:windows平台,api详解,窗口目录。
窗口获取键盘焦点所在句柄(),这函数获取的,是不知名的句柄,并非获取键盘输入焦点的句柄。
例如:
游戏窗口的喊话框,
记事本的编辑框,
系统计算器的输入框。
窗口获取键盘焦点所在句柄(),VC++代码如下:

获取键盘输入焦点_控件句柄的方法。(转载)
作者:leevans
发表于2012/3/4 15:31:14  1724人阅读
分类: SDK/API
GetForegroundWindow函数只能获取Windows当前焦点窗口(也可以叫顶层窗口)的句柄,如果需要获取该窗口中焦点控件句柄,就需要用到下面这段代码:
HWND hForeWnd = GetForegroundWindow();//获得当前激活的窗口句柄
DWORD dwSelfThreadId = GetCurrentThreadId();//获取本身的线程ID
DWORD dwForeThreadId = GetWindowThreadProcessId(hForeWnd, NULL);//根据窗口句柄获取线程ID
AttachThreadInput(dwForeThreadId, dwSelfThreadId, true);//附加线程
HWND hFocus = GetFocus();//获取具有输入焦点的窗口句柄
AttachThreadInput(dwForeThreadId, dwSelfThreadId, false);//取消附加的线程
hFocus就是焦点控件的句柄。
需要说明的一点,在测试过程中,以上代码对网页不起作用,其它窗口OK!
建议修复。
回复

使用道具 举报

发表于 2017-6-29 20:50:21 | 显示全部楼层
难得有心人,可惜了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-29 21:47 , Processed in 0.034610 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表