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

在一些情况下(比如屏幕软键盘或者输入法程序),自己的窗口没有输入焦点但是想要当前焦点窗口的键盘输入消息,可以使用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);

时间: 2024-08-01 01:31:13

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

窗口风格-windows编程中怎样让建立的窗口不能拉伸,应该设置什么样式?

问题描述 windows编程中怎样让建立的窗口不能拉伸,应该设置什么样式? 最近在学习Windows编程,看windows程序设计,但那个hellowin程序出来的窗口是可以拉伸的,怎样固定下来,让窗口不可以拉伸,应该是一个窗口样式或者风格,但老是查不出来,求助! 解决方案 WS_SIZEBOX WS_THICKFRAM 解决方案二: http://blog.csdn.net/diaolingle/article/details/17284711 解决方案三: WS_BORDER 0X00800

windows编程-API下用对话框做主窗口,怎样修改.rc文件

问题描述 API下用对话框做主窗口,怎样修改.rc文件 在API下创建一个对话框作为主窗口,怎样修改.rc文件.我知道是在CAPTION下加上CLASS 类名, 然后createdialog(hinstance,类名,NULL,NULL),我想具体知道怎么修改.rc文件.或者其他的办法(出去setwindowlong),好像还有一种创建.DLG文件的方法,求各路大神告知. 解决方案 在你的VC++中切换到资源面板,展开对话框,找到窗口,属性,修改标题. 解决方案二: 直接用编译器资源视图中,修改

c语言-从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中。编程以如下格式显示一个报告

问题描述 从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中.编程以如下格式显示一个报告 从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中.编程以如下格式显示一个报告: ? 时间? 登录人数? 所占比例 ?0:00 – 1:00 ?1 0.3 ?1:00 – 2:00 ?2 0.7 ?- ?10:00 - 11:00 ?27 9.0 ?11:00 - 12:00 ?28 9.3 - ?23:00 - 0:00 ?8 2.7 ?最大登录人数28发生在11:00到12:00

windows编程 在一个窗口上加载一个位图图片

问题描述 windows编程 在一个窗口上加载一个位图图片 希望前辈们能给个demo程序.或者最基本的窗口上加载一个位图图片就好,加载位图时用的LoadImage 初学windows编程,不太懂上下文设备,希望大神能给个例程,让我学习. 解决方案 c++windows编程加载图片 解决方案二: #include #include "resource.h" LRESULT CALLBACK WndProc1(HWND hwnd,UINT message,WPARAM wParam,LPA

浮动栏退出-windows编程 窗口全屏无边框时设置浮动栏(带有最小化按钮和退出按钮)退出全屏

问题描述 windows编程 窗口全屏无边框时设置浮动栏(带有最小化按钮和退出按钮)退出全屏 悬浮框的代码是参考freerdp实现的. 请指出错误或者提供解决代码,谢谢 //============================= #include #include "resource.h" typedef struct wf_context wfContext; typedef struct _Button Button; typedef struct _FloatBar Floa

windows编程 全屏窗口的创建总结 .

from:http://blog.csdn.net/leolee82/article/details/6992615 windows编程 全屏窗口的创建总结第一种:较简单的方法在ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);前加如下代码: [cpp] view plaincopyprint? LONG style = GetWindowLong(hwnd,GWL_STYLE);//获得窗口风格    style = &~WS_CAPTION 

opencv c++-opencv 摄像头捕捉时窗口是灰色

问题描述 opencv 摄像头捕捉时窗口是灰色 摄像头指示灯有亮,但就是没有视频code都在下面 哪位大神能给解答?感激不尽.#include ""stdafx.h"" #include #include int lowerH=0;int lowerS=0;int lowerV=0; int upperH=180;int upperS=256;int upperV=256; //This function threshold the HSV image and cr

设备上下文-请问各位大神,Windows编程里边的DC(device context)到底是什么啊?

问题描述 请问各位大神,Windows编程里边的DC(device context)到底是什么啊? 请教各位大神,设备上下文(device context)到底是个什么东西?它仅仅是一个抽象概念还是一个实体概念(即有对应的代码)?它是一个结构体吗?如果它有对应的源码的话,怎么能找到?在下在网上找了很多资料,包括MSDN上的,但越看越糊涂.在下想了解关于它最本质的东西,在下怎么才能"看到它"?这个问题给在下带来很大困惑,希望大家为在下指点迷津,拜托大家了!在下先行谢过! 解决方案 DC实

windows编程-windows 编程 新手问题

问题描述 windows 编程 新手问题 最近刚开始看windows 自学 就是想了解下,书中helloworld程序先注册了一个窗口类,然后写了一个窗口对象,再然后是消息的循环, 可是我没看懂窗口对象是怎么知道自己是属于这个窗口类的,并没有把窗口类的值赋给窗口对象啊, 消息也是,没看出这个消息与窗口是怎么建立关系的 求解答 解决方案 CreateWindow()的时候,可以指定窗口类