[Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入

来源:互联网 发布:php替换字符 编辑:程序博客网 时间:2024/06/10 20:56

在一些情况下(比如屏幕软键盘或者输入法程序),自己的窗口没有输入焦点但是想要当前焦点窗口的键盘输入消息,可以使用Win32 API函数AttachThreadInput()来解决这个问题。AttachThreadInput把一个线程(idAttach)的输入消息连接到另外线程(idAttachTo)。

 

函数定义:

BOOL WINAPI AttachThreadInput(
  __in  DWORD idAttach,
  __in  DWORD idAttachTo,
  __in  BOOL fAttach
);

 

用法示例:

AttachThreadInput(

         ::GetWindowThreadProcessId(::GetForegroundWindow(),NULL),  //当前焦点窗口的线程ID

         ::GetCurrentThreadId(),  //自己的线程ID

         TRUE);

 

 

原创粉丝点击