[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中間件 條碼系統中間層 物聯網軟件集成