获取当前具有输入焦点控件的窗口句柄

参考文档:http://blog.csdn.net/ribut9225/article/details/21620139

获取当前具有输入焦点控件的窗口句柄

由于GetFocus只能本身进程调用,所以必须调用AttachThreadInput函数附加线程

HWND wnd;//窗口句柄
wnd=GetForegroundWindow();//获得当前激活的窗口句柄
DWORD SelfThreadId=GetCurrentThreadId();//获取本身的线程ID
DWORD ForeThreadId=GetWindowThreadProcessId(wnd,NULL);//根据窗口句柄获取线程ID
AttachThreadInput(ForeThreadId,SelfThreadId,true);//附加线程
wnd=GetFocus();//获取具有输入焦点的窗口句柄
AttachThreadInput(ForeThreadId,SelfThreadId,false);//取消附加的线程
SendMessage(wnd,WM_CHAR,WPARAM('a'),0);//发送一个字消息

posted @ 2017-04-06 19:30  he伟_li  阅读(3136)  评论(0编辑  收藏  举报