System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 焦点窗口捕获方法、装置、电子设备及可读存储介质制造方法及图纸_技高网

焦点窗口捕获方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:41179696 阅读:4 留言:0更新日期:2024-05-07 22:14
本公开提供一种焦点窗口捕获方法、装置、电子设备及计算机可读存储介质,涉及计算机应用技术领域,该方法包括:启动系统中用于监控前置窗口变化的剪贴板常驻进程,以及设置消息钩子和回调函数,消息钩子用于捕获前置窗口变化的系统回调消息;在回调函数接收到系统回调消息,且系统中的剪贴板主窗口处于显示状态的情况下,根据系统回调消息确定系统中的前置窗口和前置窗口的第一句柄;根据前置窗口和第一句柄,确定粘贴用户复制内容的目标焦点窗口。本公开能够实时且准确的获取到焦点窗口。

【技术实现步骤摘要】

本公开涉及计算机应用,尤其涉及一种焦点窗口捕获方法、装置、电子设备及计算机可读存储介质。


技术介绍

1、剪贴板客户端是一种具有粘贴功能的,且与服务器相对应,能够为客户提供本地服务的程序,例如,苏打办公剪贴板客户端。剪贴板客户端在实现粘贴功能时,需要捕获到焦点窗口,然后才能实现数据信息的成功粘贴。

2、目前,现有的剪贴板客户端是采用定时方法的捕获焦点窗口,以实现数据信息的粘贴,通过这种定时方式无法实时的进行焦点窗口的捕获,还比较耗费系统性能。

3、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、本公开的目的在于提供一种焦点窗口捕获方法、装置、电子设备及计算机可读存储介质,能够解决现有的剪贴板客户端采用定时方法无法实时的捕获焦点窗口,耗费系统性能的技术问题。

2、本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

3、根据本公开的一个方面,提供一种焦点窗口捕获方法,该方法包括:

4、启动系统中用于监控前置窗口变化的剪贴板常驻进程,以及设置消息钩子和回调函数,上述消息钩子用于捕获前置窗口变化的系统回调消息;

5、在上述回调函数接收到上述系统回调消息,且上述系统中的剪贴板主窗口处于显示状态的情况下,根据上述系统回调消息获取上述系统中的前置窗口的第一句柄;

6、根据上述第一句柄确定粘贴用户复制内容的目标焦点窗口。

7、可选地,上述根据上述第一句柄确定粘贴用户复制内容的目标焦点窗口的步骤包括:根据上述第一句柄获取上述前置窗口的进程标识号;根据上述进程标识号获取上述系统的用户界面线程的线程信息;从上述线程信息中提取上述前置窗口中子窗口的第二句柄,并根据上述第二句柄得到上述子窗口;根据上述子窗口确定粘贴上述用户复制内容的待校验焦点窗口;对上述待校验焦点窗口进行校验得到上述目标焦点窗口。

8、可选地,上述根据上述子窗口确定粘贴上述用户复制内容的待校验焦点窗口的步骤包括:判断上述子窗口是否为可编辑窗口;在上述子窗口为可编辑窗口的情况下,将上述子窗口确定为上述待校验焦点窗口;在上述子窗口为不可编辑窗口的情况下,将上述前置窗口确定为上述待校验焦点窗口。

9、可选地,上述判断上述子窗口是否为可编辑窗口的步骤包括:判断上述子窗口中是否存在输入焦点;在上述子窗口中存在上述输入焦点的情况下,确定上述子窗口为可编辑窗口;在上述子窗口中不存在上述输入焦点的情况下,确定上述子窗口为不可编辑窗口。

10、可选地,上述对上述待校验焦点窗口进行校验得到上述目标焦点窗口的步骤包括:获取上述待校验焦点窗的第三句柄、上述系统中的系统类窗口的第一类句柄以及剪贴板进程业务类窗口的第二类句柄;将上述第三句柄与上述第一类句柄和上述第二类句柄二者进行比对;在上述第一类句柄和上述第二类句柄二者均与上述第三句柄不相同的情况下,将上述待校验焦点窗口确定为上述目标焦点窗口。

11、可选地,其特征在于,上述设置消息钩子和回调函数的步骤包括:调用事件截获函数设置上述消息钩子;以及,设置上述系统的事件处理过程为自定义的上述回调函数。

12、可选地,上述设置消息钩子和回调函数的步骤之后,上述焦点窗口捕获方法还包括:检测上述剪贴板常驻进程产生的事件,并排除上述事件。

13、根据本公开的另一个方面,提供一种焦点窗口捕获装置,上述焦点窗口捕获装置包括:

14、系统设置模块,用于启动系统中用于监控前置窗口变化的剪贴板常驻进程,以及设置消息钩子和回调函数,上述消息钩子用于捕获前置窗口变化的系统回调消息;

15、句柄获取模块,用于在上述回调函数接收到上述系统回调消息,且上述系统中的剪贴板主窗口处于显示状态的情况下,根据上述系统回调消息获取上述系统中的前置窗口的第一句柄;

16、窗口确定模块,用于根据上述第一句柄确定粘贴用户复制内容的目标焦点窗口。

17、根据本公开的再一个方面,提供一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述实施例中上述的焦点窗口捕获方法。

18、根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现如上述实施例中上述的焦点窗口捕获方法。

19、本公开的实施例所提供的焦点窗口捕获方法、装置、电子设备及计算机可读存储介质,具备以下技术效果:

20、本公开通过采用启动系统中用于监控前置窗口变化的剪贴板常驻进程,以及设置用于捕获前置窗口变化的系统回调消息的消息钩子和回调函数,在回调函数接收到系统回调消息,且系统中的剪贴板主窗口处于显示状态的情况下,根据系统回调消息获取系统中的前置窗口的第一句柄,根据第一句柄确定粘贴用户复制内容的目标焦点窗口的技术方案,通过启动剪贴板常驻进程能够对系统中的前置窗口变化进行实时监控,通过消息钩子可以准确的捕获前置窗口变化的系统回调消息,通过系统回调消息可以准确的捕获到前置窗口,通过捕获的前置窗口能够准确且高效的获取到焦点窗口。

21、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

本文档来自技高网...

【技术保护点】

1.一种焦点窗口捕获方法,其特征在于,所述焦点窗口捕获方法包括:

2.如权利要求1所述的焦点窗口捕获方法,其特征在于,所述根据所述第一句柄确定粘贴用户复制内容的目标焦点窗口的步骤包括:

3.如权利要求2所述的焦点窗口捕获方法,其特征在于,所述根据所述子窗口确定粘贴所述用户复制内容的待校验焦点窗口的步骤包括:

4.如权利要求3所述的焦点窗口捕获方法,其特征在于,所述判断所述子窗口是否为可编辑窗口的步骤包括:

5.如权利要求2所述的焦点窗口捕获方法,其特征在于,所述对所述待校验焦点窗口进行校验得到所述目标焦点窗口的步骤包括:

6.如权利要求1至5中任一项所述的焦点窗口捕获方法,其特征在于,所述设置消息钩子和回调函数的步骤包括:

7.如权利要求1至5中任一项所述的焦点窗口捕获方法,其特征在于,所述设置消息钩子和回调函数的步骤之后,所述焦点窗口捕获方法还包括:

8.一种焦点窗口捕获装置,其特征在于,所述焦点窗口捕获装置包括:

9.一种电子设备,所述电子设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的焦点窗口捕获方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的焦点窗口捕获方法。

...

【技术特征摘要】

1.一种焦点窗口捕获方法,其特征在于,所述焦点窗口捕获方法包括:

2.如权利要求1所述的焦点窗口捕获方法,其特征在于,所述根据所述第一句柄确定粘贴用户复制内容的目标焦点窗口的步骤包括:

3.如权利要求2所述的焦点窗口捕获方法,其特征在于,所述根据所述子窗口确定粘贴所述用户复制内容的待校验焦点窗口的步骤包括:

4.如权利要求3所述的焦点窗口捕获方法,其特征在于,所述判断所述子窗口是否为可编辑窗口的步骤包括:

5.如权利要求2所述的焦点窗口捕获方法,其特征在于,所述对所述待校验焦点窗口进行校验得到所述目标焦点窗口的步骤包括:

6.如权利要求1至5中任一项所述的焦点窗口捕获方法,其...

【专利技术属性】
技术研发人员:马博凯车志平吕习彪高飞
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1