[Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接
在一些情况下(比如屏幕软键盘或者输入法程序),自己的窗口没有输入焦点但是想要当前焦点窗口的键盘输入消息,可以使用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);RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成
__in DWORD idAttach,
__in DWORD idAttachTo,
__in BOOL fAttach
); 用法示例: AttachThreadInput( ::GetWindowThreadProcessId(::GetForegroundWindow(),NULL), //当前焦点窗口的线程ID ::GetCurrentThreadId(), //自己的线程ID TRUE);RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成