如何获得拥有输入焦点的窗口句柄?

colazhang 2004-09-13 06:13:32
我想设计获得输入焦点的窗口句柄后向该窗口通过向该窗口发送消息来使其接受字符, 我试了一下PostMessage(GetFocus(),WM_CHAR,'a',0);焦点窗口没有反应。 但如果焦点是在自己的程序窗口里面则可以接受该字符。
这是怎么回事?怎么实现向其他窗口发送字符呢?
...全文
450 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
特招 2004-11-10
  • 打赏
  • 举报
回复
up
hailin10 2004-11-10
  • 打赏
  • 举报
回复
记号
colazhang 2004-11-10
  • 打赏
  • 举报
回复
真详细, 谢谢, 接受拉
zxcdewq 2004-09-14
  • 打赏
  • 举报
回复

HWND hWnd;
DWORD sThreadID;
DWORD dThreadID;

hWnd = GetForegroundWindow();

if(hWnd == Form1->Handle)
return;

sThreadID = GetCurrentThreadId();

dThreadID = GetWindowThreadProcessId(hWnd, NULL);

AttachThreadInput(dThreadID, sThreadID, true);

hWnd = GetFocus();

AttachThreadInput(dThreadID, sThreadID, false);

if (hWnd == NULL)
return;

PostMessage(hWnd, WM_CHAR, 'a', 0);
futulove 2004-09-13
  • 打赏
  • 举报
回复
HWND BighWnd = GetForegroundWindow(); // 得到当前窗口
HWND hWnd = GetFocus(); // 得到当前键盘光标所在的窗口
PostMessage(hWnd,WM_CHAR,'a',0);

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧