[Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入
2009-02-11 14:33
543 查看
在一些情况下(比如屏幕软键盘或者输入法程序),自己的窗口没有输入焦点但是想要当前焦点窗口的键盘输入消息,可以使用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);
函数定义:
BOOL WINAPI AttachThreadInput(
__in DWORD idAttach,
__in DWORD idAttachTo,
__in BOOL fAttach
);
用法示例:
AttachThreadInput(
::GetWindowThreadProcessId(::GetForegroundWindow(),NULL), //当前焦点窗口的线程ID
::GetCurrentThreadId(), //自己的线程ID
TRUE);
相关文章推荐
- [Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入
- [Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入
- 将后台窗口激活到前台的方法(使用AttachThreadInput和SetForegroundWindow两个API)
- 利用 AttachThreadInput 改变其它进程的输入法状态
- VC获取其它程序窗口焦点方法 AttachThreadInput的用法
- 利用 AttachThreadInput 改变其它进程的输入法状态
- 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
- 5.1,从键盘任意输入一个实数,不使用计算绝对值函数编程计算并输出该实数的绝对值。
- 关于androidManifest.xml中输入法窗口设置说明(windowSoftInputMode)
- 编程作业175页第4题 程序允许用户在键盘依次输入若干个数字(使用断言语句)
- Android平台上面输入法遮挡问题-android:windowSoftInputMode属性使用
- 使用 HTML5 input 类型提升移动端输入体验(键盘)
- Windows平台下GCC编程之从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号
- Windows平台下GCC编程之从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数
- 从键盘任意输入一个数,不使用计算绝对值函数编程计算并输出该实数的绝对值
- [转]无焦点显示窗口解决方法 [转]AttachThreadInput的用法
- TForm.ShowModal只是接管消息循环,禁止外部键盘和鼠标输入到别的窗口,但并不封锁其它窗口继续获取消息(比如WM_TIMER消息仍可被发送到别的窗口上)
- Windows下虚拟机安装ubuntu无法使用键盘输入开机密码
- Windows编程 DirectInput 鼠标和键盘的输入
- android:windowSoftInputMode属性使用 软键盘