首页 要闻 点评 财经 产经 湘企 IT 汽车 房产 区块链 |  设为首页
您的位置:首页 / 湖南要闻
AttachThreadInput的使用与理解如何调用这个函数?
编辑:经网综汇
2022-05-16

       实现方法如下: 1、如果有窗口,使用API sendmessage 函数向主窗口发送消息。 2、使用键盘Hook模拟发送一个全局按键消息。 3、打开进程,使用汇编注入输入函数。
       通常系统内的每个线程都有自己的输入队列。本函数(既“连接线程输入函数”)允许线程和进程共享输入队列。连接了线程后,输入焦点、窗口激活、鼠标捕获、键盘状态以及输入队列状态都会进入共享状态 返回值 Long,非零表示成功,零表示失败,会设置会GetLastError 参数表 参数 类型及说明 idAttach Long,欲连接线程的标识符(ID) idAttachTo Long,与idAttach线程连接的另一个线程的标识符 fAttach Long,TRUE(非零)连接,FALSE撤消连接。
       调用这个函数时,会重设键盘状态。参数类型前的IN表示这个参数是输入参数,可以当它没有。正常情况在对话框程序中,用户敲击Tab键后,窗体会收到WM_KEYDOWN消息,wParam为VK_TAB,而MSG结构中的hwnd则为上一个拥有键盘焦点的控件的窗口句柄。在程序A中获取前台窗口是件容易的事,GetForegroundWindow就OK了。
       获取拥有键盘焦点的窗口的句柄,可以用GetFocus。但是,看看MSDN中关于GetFocus的说明,有这么一句:TheGetFocusfunction retrieves the handle to the window that has the keyboard focus, if the window isattached to the calling thread's message queue. 前半句好理解,正是我们想要的。可是,后面有个“但是”——如果窗口贴附到(attached to)调用线程的消息队列。

免责声明:本文仅代表作者个人观点,与本网无关。其原创性以及文中陈述文字和内容未经本站证实, 对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者 仅作参考,并请自行核实相关内容。当事人(单位)如有异议,请参阅《删帖说明》办理。

0
(查看全部0条评论)请遵守国家新闻相关法规,文明上网评论!
评论总数:0 [ 查看全部 ]网友评论
 
  评论者:  请输入验证码:                                                        
网罗杂烩更多
湖南要闻更多

opencv 图像识别在人工智能发展过程中起到了

阅读(1)  评论(0)

316l不锈钢价格,316l不锈钢市场波动并不明显

阅读(1)  评论(0)

小区二次供水设备张啥样?小区为什么需要二次

阅读(1)  评论(0)

煤矿除尘设备主要为洒水除尘、布袋除尘与静电

阅读(1)  评论(0)
经网聚焦更多
潇湘视野更多
博览纵横更多

CopyRight @ 2007-2020 湖南经济新闻网.com 版权所有

网站备案 湘ICP备030127号

地址:湖南省长沙市(邮编:410000)E-mail:hnjjxww@yahoo.com.cn