CN113254102B - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113254102B CN113254102B CN202110587549.5A CN202110587549A CN113254102B CN 113254102 B CN113254102 B CN 113254102B CN 202110587549 A CN202110587549 A CN 202110587549A CN 113254102 B CN113254102 B CN 113254102B
- Authority
- CN
- China
- Prior art keywords
- window
- identification
- link library
- dynamic link
- target dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 167
- 230000008569 process Effects 0.000 claims abstract description 130
- 238000012544 monitoring process Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 51
- 230000007246 mechanism Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000750 progressive effect Effects 0.000 claims description 5
- 238000004043 dyeing Methods 0.000 description 27
- 230000000694 effects Effects 0.000 description 12
- 238000002347 injection Methods 0.000 description 10
- 239000007924 injection Substances 0.000 description 10
- 238000004040 coloring Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 244000035744 Hura crepitans Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010186 staining Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备及存储介质。其中,方法包括:驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
相关技术中,为了对窗口进行区分和识别,可以为窗口添加识别标记。然而,识别标记添加机制的稳定性尚需提高。
发明内容
为解决相关技术问题,本申请实施例提供一种数据处理方法、装置、电子设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种数据处理方法,包括:
驱动层的监测进程监测到第一进程被创建时,将目标动态链接库(英文可以表示为Dynamic Link Library,缩写为DLL)注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;
所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;
所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
上述方案中,所述监测进程具体为进程创建回调函数。
上述方案中,所述方法还包括:
所述目标动态链接库判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;
根据所述目标标记策略添加标识窗口至所述主窗口;其中,
所述第一条件包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮。
上述方案中,所述方法还包括:
所述目标动态链接库通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,确定所述第一进程启动的窗口。
上述方案中,所述根据所述目标标记策略添加标识窗口至所述第一窗口,包括:
所述目标动态链接库确定所述第一窗口未被处理过时,修改所述第一窗口的窗口回调函数,通过修改后的窗口回调函数添加所述标识窗口至所述第一窗口。
上述方案中,所述通过修改后的窗口回调函数添加标识窗口至所述第一窗口,包括:
通过修改后的窗口回调函数,监测针对所述第一窗口的操作事件;根据监测到的操作事件,对所述标识窗口执行相应的操作,以使所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
上述方案中,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,包括以下至少之一:
监测到用于使所述第一窗口全屏显示的第一操作事件时,将所述标识窗口配置为消息透传的、不可被激活的、分层的且不抢占焦点的窗口;
监测到用于使所述第一窗口非全屏显示的第二操作事件时,将所述标识窗口配置为可以捕获消息的、不可被激活的且不抢占焦点的窗口,并将所述标识窗口移动至所述第一窗口外部进行显示;
监测到用于移动所述第一窗口的第三操作事件时,根据所述第一窗口的移动轨迹移动所述标识窗口;
监测到用于隐藏所述第一窗口的第四操作事件时,隐藏所述标识窗口;
监测到用于显示所述第一窗口的第五操作事件时,显示所述标识窗口。
上述方案中,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,包括:
监测到用于将所述第一窗口由未激活状态切换为激活状态的第六操作事件时,显示所述标识窗口;
监测到用于将所述第一窗口由激活状态切换为未激活状态的第七操作事件时,隐藏所述标识窗口。
上述方案中,所述显示所述标识窗口,包括:
渐入动画显示所述标识窗口;
所述隐藏所述标识窗口,包括:
渐出动画隐藏所述标识窗口。
上述方案中,所述标识窗口包括第一标识窗口以及第二标识窗口;所述显示所述标识窗口,包括:
显示所述第一标识窗口,并渐入渐出动画呈现所述第二标识窗口。
本申请实施例还提供了一种数据处理装置,包括:
驱动层的监测进程单元,用于监测到第一进程被创建时,将目标动态链接库单元注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库单元;
所述目标动态链接库单元,用于根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本申请实施例提供的数据处理方法、装置、电子设备及存储介质,驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。本申请实施例的方案,通过驱动层的监测进程来监测进程的创建,监测进程一旦监测到进程被创建,就立即将用于添加标识窗口的目标动态链接库注入监测到的进程;如此,能够保障第一进程的所有窗口在目标动态链接库被注入后创建,换句话说,能够避免对进程的窗口的遗漏,即避免未及时添加标识窗口的情况,从而能够提高标识窗口的添加机制的稳定性。
附图说明
图1为本申请实施例数据处理方法的流程示意图;
图2为本申请应用实施例异步过程调用(APC,Asynchronous Procedure Calls)注入的流程示意图;
图3为本申请应用实施例判断是否需要创建染色窗口和水印窗口的流程示意图;
图4为本申请应用实施例主窗口回调函数的内部逻辑示意图;
图5为本申请实施例数据处理装置的结构示意图;
图6为本申请实施例电子设备的结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
本申请实施例提供一种数据处理方法,如图1所示,该方法包括:
步骤101:驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;
步骤102:所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;
步骤103:所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
这里,所述标识窗口是所述第一窗口的子窗口。
需要说明的是,本申请实施例提供的数据处理方法应用于电子设备,所述电子设备可以是个人电脑(PC)、手机等;所述PC可以包括台式电脑、笔记本电脑、平板电脑等。
实际应用时,所述驱动层的监测进程可以通过在所述驱动层设置的回调函数实现,换句话说,所述监测进程具体为进程创建回调函数。所述驱动层可以理解为操作系统的驱动层,比如微软视窗(Microsoft Windows,简称为Windows)操作系统。将所述目标动态链接库注入所述第一进程的注入方式可以根据需求设置,比如APC注入。这样,所述驱动层的监测进程监测到所述电子设备的进程被创建时,可以快速地将目标动态链接库注入监测到的进程(即所述第一进程),使监测到的进程的所有窗口在目标动态链接库被注入后创建,换句话说,能够避免对进程的窗口的遗漏,即避免未及时添加标识窗口的情况,从而能够提高标识窗口的添加机制的稳定性。
实际应用时,所述区分属性信息可以用于区分窗口所属的进程。当然,所述区分属性信息也可以用于区分窗口所属的桌面。这里,所述电子设备可以包含多个桌面,所述多个桌面具体可以是至少两个桌面,所述桌面是指打开所述电子设备并成功登录操作系统之后所述电子设备呈现的主屏幕区域。
具体地,所述电子设备包含的多个桌面中每个桌面可以对应一个虚拟的工作空间,所述多个桌面使用同一个物理磁盘,该磁盘上并未划分出各桌面的使用区域,用户针对相应桌面进行操作时电子设备呈现的画面为相应桌面对应的工作空间。另外,所述多个桌面中各桌面对应的工作空间可以利用基于统一端点管理(UEM,Unified EndpointManagement)实现的沙箱进行隔离,换句话说,可以利用沙箱对各桌面对应的文件目录下的文件进行隔离。实际应用时,所述多个桌面中各桌面还可以基于沙箱进行进程隔离、网络隔离、注册表隔离、剪切板隔离和服务隔离等,以提高用户数据的安全性。另外,实际应用时,所述电子设备包含的多个桌面中各桌面对应的系统操作权限可以相同或不同,用户可以根据需求设置。
实际应用时,用户可以根据需求设置区分属性信息与标记策略之间的对应关系;获得所述区分属性信息后,所述目标动态链接库根据所述区分属性信息,可以结合预先设置的区分属性信息与标记策略之间的对应关系,确定与所述区分属性信息对应的目标标记策略。
实际应用时,可以为所述第一窗口添加多个标识窗口,比如用于呈现染色效果的染色窗口、用于呈现水印的水印窗口等;相应地,用户可以根据需求设置标记策略,所述标记策略可以包含所述染色窗口的染色效果的颜色、分辨率等特征信息,和/或所述水印窗口的水印的图片(即水印样式)、宽度、高度等特征信息。
示例性地,在所述区分属性信息用于区分窗口所属的桌面的情况下,针对电子设备包含的三个桌面:桌面A、桌面B和桌面C,桌面A对应的系统操作权限高于桌面B对应的系统操作权限,桌面B对应的系统操作权限高于桌面C对应的系统操作权限,通过用户的设置,桌面A对应的标记策略可以用于为桌面A的窗口创建红色染色效果的染色窗口和呈现“桌面A”的水印信息的水印窗口;桌面B对应的标记策略可以用于为桌面B的窗口创建绿色染色效果的染色窗口;桌面C对应的标记策略可以为不标记,换句话说,不需要为桌面C的窗口创建染色窗口和/或水印窗口。
实际应用时,所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口,可以理解为所述目标动态链接库将标识窗口添加至所述第一进程的所有窗口。当然,为了提升用户体验,也可以仅为满足预设条件的窗口添加标识窗口,即为所述第一进程的部分窗口添加标识窗口,以避免进程的所有窗口都有标识窗口,对用户使用电子设备造成影响。
基于此,在一实施例中,所述方法还可以包括:
所述目标动态链接库判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;
相应地,所述根据所述目标标记策略添加标识窗口至所述第一窗口,可以包括:
所述目标动态链接库根据所述目标标记策略添加标识窗口至所述主窗口(即第一窗口为主窗口);
其中,所述第一条件可以包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮。
这里,所述目标动态链接库可以获取窗口的属性信息和句柄信息,基于获取的属性信息和句柄信息判断所述第一进程启动的窗口是否满足第一条件。
具体地,实际应用时,在所述属性信息包含WS_VISIBLE属性的情况下,可以确定相应窗口为可见的窗口;在所述属性信息不包含WS_VISIBLE属性的情况下,可以确定相应窗口不是可见的窗口。
实际应用时,相应窗口未对应父窗口和拥有者窗口,可以理解为相应窗口是独立的窗口,换句话说,相应窗口未被其他窗口所拥有,且相应窗口不是其他窗口的子窗口。具体地,所述目标动态链接库可以基于窗口的句柄信息和所述电子设备的操作系统提供的应用程序接口(API)获取相应窗口的父窗口(Parent)和拥有者窗口(Owner),在未获取到父窗口和拥有者窗口的情况下,可以确定相应窗口未对应父窗口和拥有者窗口;在获取到父窗口和拥有者窗口的情况下,可以确定相应窗口对应有父窗口和拥有者窗口。
实际应用时,在窗口的属性信息包含WS_SYSMENU属性(WS_SYSMENU属性表征在标题条上具有控制菜单的窗口)的情况下,所述目标动态链接库可以确定相应窗口对应有系统菜单属性;在窗口的属性信息不包含WS_SYSMENU属性的情况下,所述目标动态链接库可以确定相应窗口未对应有系统菜单属性。
实际应用时,在窗口的属性信息中的MaxButton属性(MaxButton属性表征窗口的最大化按钮是否显示)和MinButton属性(MinButton属性表征窗口的最小化按钮是否显示)为有效(True)的情况下,所述目标动态链接库可以确定相应窗口包含最大化按钮和最小化按钮;在窗口的属性信息中的MaxButton属性和MinButton属性为无效(False)的情况下,所述目标动态链接库可以确定相应窗口不包含最大化按钮和最小化按钮。
实际应用时,由于应用程序的行为太过复杂,无法预测进程中窗口的创建时机,因此,可以采用事件监听机制确定所述第一进程启动的窗口。
基于此,在一实施例中,所述方法还可以包括:
所述目标动态链接库通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,确定所述第一进程启动的窗口;
相应地,所述判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口,可以包括:
所述目标动态链接库判断通过所述事件监听机制监听到的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口。
实际应用时,所述第一窗口可以理解为通过所述事件监听机制监听到的窗口。
实际应用时,进程在创建窗口后,创建的窗口可以是显示状态或隐藏状态,因此,通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,能够确定所述第一进程启动的窗口。
在一实施例中,所述根据所述目标标记策略添加标识窗口至所述第一窗口,可以包括:
所述目标动态链接库确定所述第一窗口未被处理过时,修改所述第一窗口的窗口回调函数,通过修改后的窗口回调函数添加所述标识窗口至所述第一窗口。
实际应用时,所述目标动态链接库可以基于窗口的句柄信息判断窗口是否被处理;所述处理可以理解为已经为所述第一窗口添加了标识窗口。
实际应用时,所述修改所述第一窗口的窗口回调函数,包括但不限于替换窗口回调函数的地址,即将原窗口回调函数的地址替换为新的、预先设置的窗口回调函数的地址;所述新的、预先设置的窗口回调函数即修改后的窗口回调函数,用于添加标识窗口至所述第一窗口。
实际应用时,为了提升用户体验,可以使所述标识窗口根据所述第一窗口的移动、显示、隐藏的状态进行相应处理,以使所述标识窗口能够与所述第一窗口呈现为一个整体。
基于此,在一实施例中,所述通过修改后的窗口回调函数添加标识窗口至所述第一窗口,可以包括:
通过修改后的窗口回调函数,监测针对所述第一窗口的操作事件;根据监测到的操作事件,对所述标识窗口执行相应的操作,以使所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
具体地,在一实施例中,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,可以包括以下至少之一:
监测到用于使所述第一窗口全屏显示的第一操作事件时,将所述标识窗口配置为消息透传的、不可被激活的、分层的且不抢占焦点的窗口;
监测到用于使所述第一窗口非全屏显示的第二操作事件时,将所述标识窗口配置为可以捕获消息的、不可被激活的且不抢占焦点的窗口,并将所述标识窗口移动至所述第一窗口外部进行显示;
监测到用于移动所述第一窗口的第三操作事件时,根据所述第一窗口的移动轨迹移动所述标识窗口;
监测到用于隐藏所述第一窗口的第四操作事件时,隐藏所述标识窗口;
监测到用于显示所述第一窗口的第五操作事件时,显示所述标识窗口。
实际应用时,可以通过对所述标识窗口的属性信息进行配置,实现所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
具体地,通过在所述标识窗口的属性信息添加WS_EX_TRANSPARENT属性,可以将所述标识窗口配置为消息透传的窗口;通过在所述标识窗口的属性信息添加WS_EX_LAYERED属性,可以将所述标识窗口配置为分层的窗口;通过在所述标识窗口的属性信息添加WS_EX_NOACTIVATE属性,可以将所述标识窗口配置为不可被激活的且不抢占焦点的窗口;通过从所述标识窗口的属性信息删除WS_EX_TRANSPARENT属性和WS_EX_LAYERED属性,可以将所述标识窗口配置为可以捕获消息的窗口,换句话说,在所述标识窗口的属性信息不包含WS_EX_TRANSPARENT属性和WS_EX_LAYERED属性的情况下,所述标识窗口为可以捕获消息的窗口;通过在所述标识窗口的属性信息添加WS_VISIBLE属性,可以显示所述标识窗口;通过从所述标识窗口的属性信息删除WS_VISIBLE属性,可以隐藏所述标识窗口。
实际应用时,为了进一步提升用户体验,避免所述标识窗口对用户的操作造成影响,可以仅在所述第一窗口由未激活状态切换为激活状态的情况下显示所述标识窗口。
基于此,在一实施例中,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,可以包括:
监测到用于将所述第一窗口由未激活状态切换为激活状态的第六操作事件时,显示所述标识窗口;
监测到用于将所述第一窗口由激活状态切换为未激活状态的第七操作事件时,隐藏所述标识窗口。
实际应用时,存在多个标识窗口的情况下,在隐藏所述标识窗口时,可以仅隐藏部分标识窗口;相应地,显示所述标识窗口时,可以显示隐藏的部分标识窗口;这样,既能够使用户对当前窗口进行区分,又能够避免多个标识窗口对用户的操作造成影响。
实际应用时,用户根据需求设置标记策略时,可以设置所述标识窗口的动画呈现效果。
基于此,在一实施例中,所述显示所述标识窗口,可以包括:
渐入动画显示所述标识窗口;
所述隐藏所述标识窗口,可以包括:
渐出动画隐藏所述标识窗口。
实际应用时,存在多个标识窗口的情况下,显示各标识窗口的方式可以相同或不同。
基于此,在一实施例中,所述标识窗口可以包括第一标识窗口以及第二标识窗口;所述显示所述标识窗口,可以包括:
显示所述第一标识窗口,并渐入渐出动画呈现所述第二标识窗口。
这里,所述显示所述第一标识窗口,可以包括:渐入动画显示所述第一标识窗口,或者,瞬间显示所述第一标识窗口;当然,所述第一标识窗口的显示方式可以根据需求设置,本申请实施例对此不作具体限定。
另外,如果所述第一标识窗口在所述第一窗口为未激活状态的情况下为显示状态(即所述第一窗口由激活状态切换为未激活状态时未隐藏所述第一标识窗口),所述显示所述第一标识窗口,可以包括:维持所述第一标识窗口的显示状态。
实际应用时,所述第一标识窗口可以是染色窗口,所述第二标识窗口可以是水印窗口;当然,所述第一标识窗口和所述第二标识窗口也可以是其它具备标识作用的窗口,本申请实施例对此不作限定。
本申请实施例提供的数据处理方法,驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。本申请实施例的方案,通过驱动层的监测进程来监测进程的创建,监测进程一旦监测到进程被创建,就立即将用于添加标识窗口的目标动态链接库注入监测到的进程;如此,能够保障第一进程的所有窗口在目标动态链接库被注入后创建,换句话说,能够避免对进程的窗口的遗漏,即避免未及时添加标识窗口的情况,从而能够提高标识窗口的添加机制的稳定性。
下面结合应用实施例对本申请再作进一步详细的描述。
在本应用实施例中,所述目标动态链接库表示为UEM.dll;所述标识窗口包括染色窗口和水印窗口;所述区分属性信息称为桌面信息,用于区分窗口所属的桌面;所述电子设备包含两个桌面:安全桌面和个人桌面,安全桌面对应的系统操作权限高于个人桌面对应的系统操作权限,即用户无法通过个人桌面打开或编辑安全桌面对应的文件目录下的文件,但可以通过安全桌面打开或编辑个人桌面对应的文件目录下的文件;所述个人桌面对应的标记策略为不标记,换句话说,仅为安全桌面的进程(后续的描述中记作安全进程)的主窗口创建(即添加)染色窗口和水印窗口。
在本应用实施例中,如图2所示,APC注入UEM.dll,可以包括以下步骤:
步骤201:进程启动;之后执行步骤202;
步骤202:驱动层捕获进程启动信息;之后执行步骤203;
步骤203:APC注入UEM.dll,传入桌面信息;之后执行步骤204;
步骤204:UEM.dll内部开始染色逻辑。
具体地,电子设备的应用程序开始创建进程时,驱动层的进程创建回调函数(即上述监测进程)就会被触发,使驱动层捕获到进程的启动信息(即监测到进程被创建);所述启动信息可以包含桌面信息,所述桌面信息表征相应进程所属的桌面。之后,驱动层通过APC注入的方式将UEM.dll注入到捕获到的进程,并将桌面信息传入到UEM.dll内部。进程加载UEM.dll后,UEM.dll内部可以根据桌面信息,为不同的桌面创建不同风格(即不同标记策略)的染色窗口和水印窗口,为用户提供最直观的提示。
这里,驱动层的进程创建回调函数通过APC注入的方式,能够快速地将UEM.dll注入到捕获到的进程,而进程启动时通常会先加载ntdll.dll,换句话说,进程通常会先加载ntdll.dll,再加载UEM.dll,UEM.dll的注入时机足够早;因此,可以确保进程的所有窗口都在注入UEM.dll之后被创建,避免存在未被染色的主窗口。
在本应用实施例中,为了避免进程的所有窗口都有染色和水印,从而影响用户使用窗口,即影响用户对窗口进行操作,仅为主窗口创建染色窗口和水印窗口。因此,在步骤204中,UEM.dll内部的染色逻辑需要通过判断监测到的进程是否创建主窗口,判断是否需要创建染色窗口和水印窗口。
具体地,如图3所示,UEM.dll判断是否需要创建染色窗口和水印窗口,可以包括以下步骤:
步骤301:判断当前进程是否为安全桌面的进程;若是,执行步骤302;若否,则结束判断;
步骤302:设置窗口创建和显示的监听事件;之后执行步骤303;
步骤303:初始化染色的配置信息(即确定目标标记策略);之后执行步骤304;
步骤304:监听事件被触发;之后执行步骤305;
步骤305:判断当前窗口(即创建或显示的主窗口)是否为主窗口;若是,执行步骤306;若否,则结束判断;
步骤306:判断当前窗口是否未处理;若是,执行步骤307;若否,则结束判断;
步骤307:获取当前窗口的回调函数,替换为预设的主窗口回调函数(即上述修改后的窗口回调函数);之后执行步骤308;
步骤308:向当前窗口发送创建染色窗口和水印窗口的消息(可以表示为WM_CREATE_DYEING_WINDOW)。
具体地,在步骤301中,APC注入UEM.dll,被注入的进程加载UEM.dll后,UEM.dll可以根据桌面信息,判断当前进程是否为安全桌面的进程。
在步骤302中,由于应用程序的行为太过复杂,无法预测主窗口的创建时机,所以采用事件监听机制,在UEM.dll内部监听当前的窗口创建事件和窗口显示事件;当有窗口被创建或显示时,监听机制就可以被触发(即步骤304)。
在步骤305中,UEM.dll可以获取当前窗口的属性信息,并根据预先设置的主窗口特征(即上述第一条件)判断当前窗口是否为主窗口。主窗口特征可以包括:未被其他窗口拥有(即没有拥有者窗口(Owner))、没有父窗口(Parent)、窗口可见(WS_VISIBLE)等属性。实际应用时,主窗口特征还可以包括:系统菜单属性(WS_SYSMENU)、最大化按钮(即MaxButton=True)或最小化按钮(即MinButton=True);或者,主窗口特征还可以包括:最大化按钮和最小化按钮。
在步骤306中,UEM.dll可以基于窗口的句柄信息判断窗口是否被处理。所述处理可以理解为已经为主窗口创建了染色窗口和水印窗口。
在步骤307中,UEM.dll可以将主窗口原本的窗口回调函数(即所述电子设备的操作系统自带的窗口回调函数)的地址替换为预设的主窗口回调函数(即UEM.dll中新的、预先设置的窗口回调函数)的地址,以调用预设的主窗口回调函数进行业务处理。
在本应用实施例中,UEM.dll将主窗口原本的窗口回调函数替换为预设的主窗口回调函数后,就会在新的主窗口回调函数内部创建染色窗口,这样可以保证染色窗口与所依附的主窗口同生命周期。在用户选择全屏显示主窗口时,染色窗口会显示在主窗口的内部,此时,染色效果占据很少的像素,且染色窗口的属性包括:消息透传(WS_EX_TRANSPARENT)、不可被激活(WS_EX_NOACTIVATE)、分层(WS_EX_LAYERED)及不抢占焦点(WS_EX_NOACTIVATE)。用户选择非全屏显示主窗口时,染色窗口会显示在主窗口的外部,为了使用户也可以点击染色窗口进行操作,此时染色窗口的属性可以包括:可以捕获消息(不包含WS_EX_TRANSPARENT和WS_EX_LAYERED)、不可被激活且不抢占焦点(WS_EX_NOACTIVATE)。如此,既能够提示用户,又保证不会对用户的操作造成影响。实际应用时,主窗口回调函数也可以控制染色窗口根据主窗口的移动、显示、隐藏等状态变化实现相应的处理,使染色窗口和主窗口呈现为一个整体。
在本应用实施例中,UEM.dll同样在新的主窗口回调函数内部创建水印窗口,但为了能够保证既提示用户,又不会对用户的操作造成影响,可以使水印窗口不会一直显示。具体地,仅在主窗口从未激活状态切换为激活状态、或由激活状态切换为未激活状态的情况下,使水印窗口以渐入渐出的动画效果进行显示和隐藏,并且可以根据标记策略动态显示预设的提示信息。这里,水印窗口的属性可以包括:消息透传、分层、不可被激活且不抢占焦点。
在本应用实施例中,主窗口回调函数的内部逻辑如图4所示,主窗口回调函数获取当前窗口的信息,在窗口信息为WM_CREATE_DYEING_WINDOW的情况下,创建染色窗口和水印窗口。
在窗口信息为表征窗口位置即将变化的系统消息(可以表示为WM_WINDOWPOSCHANGED)的情况下,判断主窗口是否全屏显示(具体可以判断主窗口是否为最大化,并判断主窗口的显示区域是否已经超过当前显示器的屏幕);在主窗口全屏显示的情况下,根据主窗口的位置,移动染色窗口到主窗口的内部,创建显示区域(即确定主窗口和染色窗口的显示区域),并基于显示区域移动水印窗口;在主窗口非全屏显示的情况下,根据主窗口的位置,移动染色窗口到主窗口的外部,创建显示区域(即确定主窗口和染色窗口的显示区域),并基于显示区域移动水印窗口。
在窗口信息为表征窗口的显示状态变化的系统消息(可以表示为WM_SHOWWINDOW)的情况下,可以根据WM_SHOWWINDOW判断主窗口是否将要显示;在主窗口将要显示的情况下,可以在主窗口为非激活状态时,显示染色窗口;在主窗口不显示(即主窗口为隐藏状态)的情况下,隐藏染色窗口和水印窗口。
在窗口信息为表征窗口的激活状态的系统消息(可以表示为WM_ACTIVATEAPP)的情况下,可以判断主窗口是否由非激活状态变为激活状态,并判断水印窗口是否不可见(即水印窗口是否为隐藏状态);在主窗口由非激活状态变为激活状态,且水印窗口不可见的情况下,动画显示(比如渐入渐出的动画效果)水印窗口。
在本应用实施例中,主窗口回调函数的内部逻辑结束后,可以调用原始的窗口处理函数(即所述电子设备的操作系统自带的窗口处理函数),以对相应窗口进行后续处理。
实际应用时,UEM.dll还可以对染色窗口和水印窗口的信息进行处理,以实现染色窗口和水印窗口的呈现效果。示例性地,对于染色窗口,UEM.dll可以根据所述标记策略配置表征窗口绘制的系统消息(可以表示为WM_PAINT),以实现渐变的染色效果;并且,可以根据WM_WINDOWPOSCHANGED移动染色窗口。对于水印窗口,UEM.dll可以根据所述标记策略配置表征窗口定时器的系统消息(可以表示为WM_TIMER),以实现水印窗口的渐入渐出效果。
本申请实施例的方案,具有以下优点:
第一,由于驱动层的进程创建回调函数通过APC注入的方式,能够快速地将UEM.dll注入到捕获到的进程,进程通常会先加载ntdll.dll,再加载UEM.dll,UEM.dll的注入时机足够早;因此,可以确保进程的所有窗口都在注入UEM.dll之后被创建,避免存在未被染色的主窗口,提高了通过子窗口的染色效果和/或水印识别父窗口所属的桌面的识别机制的稳定性。
第二,仅为主窗口添加染色窗口和水印窗口;如此,能够避免进程的所有窗口都有染色窗口和水印窗口,对用户使用电子设备造成影响,从而能够提升用户体验。
第三,水印窗口和染色窗口会随主窗口状态的改变而动态变化,既能够提示用户,又保证不会对用户的操作造成影响。
为了实现本申请实施例的方法,本申请实施例还提供了一种数据处理装置,如图5所示,该装置包括:
驱动层的监测进程单元501,用于监测到第一进程被创建时,将目标动态链接库单元502注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库单元502;
所述目标动态链接库单元502,用于根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
其中,在一实施例中,所述目标动态链接库单元502,还用于判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;根据所述目标标记策略添加标识窗口至所述主窗口;其中,
所述第一条件包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮。
在一实施例中,所述目标动态链接库单元502,还用于通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,确定所述第一进程启动的窗口。
在一实施例中,所述目标动态链接库单元502,具体用于确定所述第一窗口未被处理过时,修改所述第一窗口的窗口回调函数,通过修改后的窗口回调函数添加所述标识窗口至所述第一窗口。
在一实施例中,所述目标动态链接库单元502,具体用于通过修改后的窗口回调函数,监测针对所述第一窗口的操作事件;根据监测到的操作事件,对所述标识窗口执行相应的操作,以使所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
在一实施例中,所述目标动态链接库单元502,具体用于执行以下至少之一:
监测到用于使所述第一窗口全屏显示的第一操作事件时,将所述标识窗口配置为消息透传的、不可被激活的、分层的且不抢占焦点的窗口;
监测到用于使所述第一窗口非全屏显示的第二操作事件时,将所述标识窗口配置为可以捕获消息的、不可被激活的且不抢占焦点的窗口,并将所述标识窗口移动至所述第一窗口外部进行显示;
监测到用于移动所述第一窗口的第三操作事件时,根据所述第一窗口的移动轨迹移动所述标识窗口;
监测到用于隐藏所述第一窗口的第四操作事件时,隐藏所述标识窗口;
监测到用于显示所述第一窗口的第五操作事件时,显示所述标识窗口。
在一实施例中,所述目标动态链接库单元502,具体用于:
监测到用于将所述第一窗口由未激活状态切换为激活状态的第六操作事件时,显示所述标识窗口;
监测到用于将所述第一窗口由激活状态切换为未激活状态的第七操作事件时,隐藏所述标识窗口。
在一实施例中,所述目标动态链接库单元502,具体用于渐入动画显示所述标识窗口;并渐出动画隐藏所述标识窗口。
在一实施例中,所述标识窗口包括第一标识窗口以及第二标识窗口;所述目标动态链接库单元502,具体用于显示所述第一标识窗口,并渐入渐出动画呈现所述第二标识窗口。
实际应用时,所述监测进程单元501和所述目标动态链接库单元502可由数据处理装置中的处理器实现。
需要说明的是:上述实施例提供的数据处理装置在处理数据时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,如图6所示,该电子设备600包括:
通信接口601,能够与其他电子设备进行信息交互;
处理器602,与所述通信接口601连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器603,存储能够在所述处理器602上运行的计算机程序。
具体地,所述处理器602,用于通过所述电子设备600的驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;
所述目标动态链接库,用于根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口。
其中,在一实施例中,所述目标动态链接库,还用于判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;根据所述目标标记策略添加标识窗口至所述主窗口;其中,
所述第一条件包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮。
在一实施例中,所述目标动态链接库,还用于通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,确定所述第一进程启动的窗口。
在一实施例中,所述目标动态链接库,具体用于确定所述第一窗口未被处理过时,修改所述第一窗口的窗口回调函数,通过修改后的窗口回调函数添加标识窗口至所述第一窗口。
在一实施例中,所述目标动态链接库,具体用于通过修改后的窗口回调函数,监测针对所述第一窗口的操作事件;根据监测到的操作事件,对所述标识窗口执行相应的操作,以使所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
在一实施例中,所述目标动态链接库,具体用于执行以下至少之一:
监测到用于使所述第一窗口全屏显示的第一操作事件时,将所述标识窗口配置为消息透传的、不可被激活的、分层的且不抢占焦点的窗口;
监测到用于使所述第一窗口非全屏显示的第二操作事件时,将所述标识窗口配置为可以捕获消息的、不可被激活的且不抢占焦点的窗口,并将所述标识窗口移动至所述第一窗口外部进行显示;
监测到用于移动所述第一窗口的第三操作事件时,根据所述第一窗口的移动轨迹移动所述标识窗口;
监测到用于隐藏所述第一窗口的第四操作事件时,隐藏所述标识窗口;
监测到用于显示所述第一窗口的第五操作事件时,显示所述标识窗口。
在一实施例中,所述目标动态链接库,具体用于:
监测到用于将所述第一窗口由未激活状态切换为激活状态的第六操作事件时,显示所述标识窗口;
监测到用于将所述第一窗口由激活状态切换为未激活状态的第七操作事件时,隐藏所述标识窗口。
在一实施例中,所述目标动态链接库,具体用于渐入动画显示所述标识窗口;并渐出动画隐藏所述标识窗口。
在一实施例中,所述标识窗口包括第一标识窗口以及第二标识窗口;所述目标动态链接库,具体用于显示所述第一标识窗口,并渐入渐出动画呈现所述第二标识窗口。
需要说明的是:所述处理器602具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,电子设备600中的各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
本申请实施例中的存储器603用于存储各种类型的数据以支持电子设备600的操作。这些数据的示例包括:用于在电子设备600上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于处理器602中,或者由处理器602实现。处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器602可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器603,处理器602读取存储器603中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器603可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器603,上述计算机程序可由电子设备600的处理器602执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
驱动层的监测进程监测到第一进程被创建时,将目标动态链接库注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库;
所述目标动态链接库根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;
所述目标动态链接库判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;所述第一条件包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮;
所述目标动态链接库监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口,所述第一窗口为所述第一进程的主窗口。
2.根据权利要求1所述的方法,其特征在于,所述监测进程具体为进程创建回调函数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述目标动态链接库通过事件监听机制监听所述第一进程中的创建窗口事件和显示窗口事件,确定所述第一进程启动的窗口。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述目标标记策略添加标识窗口至所述第一窗口,包括:
所述目标动态链接库确定所述第一窗口未被处理过时,修改所述第一窗口的窗口回调函数,通过修改后的窗口回调函数添加所述标识窗口至所述第一窗口。
5.根据权利要求4所述的方法,其特征在于,所述通过修改后的窗口回调函数添加所述标识窗口至所述第一窗口,包括:
通过修改后的窗口回调函数,监测针对所述第一窗口的操作事件;根据监测到的操作事件,对所述标识窗口执行相应的操作,以使所述标识窗口的显示方式随所述第一窗口的显示状态的改变而动态调整。
6.根据权利要求5所述的方法,其特征在于,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,包括以下至少之一:
监测到用于使所述第一窗口全屏显示的第一操作事件时,将所述标识窗口配置为消息透传的、不可被激活的、分层的且不抢占焦点的窗口;
监测到用于使所述第一窗口非全屏显示的第二操作事件时,将所述标识窗口配置为可以捕获消息的、不可被激活的且不抢占焦点的窗口,并将所述标识窗口移动至所述第一窗口外部进行显示;
监测到用于移动所述第一窗口的第三操作事件时,根据所述第一窗口的移动轨迹移动所述标识窗口;
监测到用于隐藏所述第一窗口的第四操作事件时,隐藏所述标识窗口;
监测到用于显示所述第一窗口的第五操作事件时,显示所述标识窗口。
7.根据权利要求5所述的方法,其特征在于,所述根据监测到的操作事件,对所述标识窗口执行相应的操作,包括:
监测到用于将所述第一窗口由未激活状态切换为激活状态的第六操作事件时,显示所述标识窗口;
监测到用于将所述第一窗口由激活状态切换为未激活状态的第七操作事件时,隐藏所述标识窗口。
8.根据权利要求7所述的方法,其特征在于,所述显示所述标识窗口,包括:
渐入动画显示所述标识窗口;
所述隐藏所述标识窗口,包括:
渐出动画隐藏所述标识窗口。
9.根据权利要求7所述的方法,其特征在于,所述标识窗口包括第一标识窗口以及第二标识窗口;所述显示所述标识窗口,包括:
显示所述第一标识窗口,并渐入渐出动画呈现所述第二标识窗口。
10.一种数据处理装置,其特征在于,包括:
驱动层的监测进程单元,用于监测到第一进程被创建时,将目标动态链接库单元注入所述第一进程,并将所述第一进程的区分属性信息传入所述目标动态链接库单元;
所述目标动态链接库单元,用于根据所述区分属性信息,确定与所述区分属性信息对应的目标标记策略;
所述目标动态链接库单元,还用于判断所述第一进程启动的窗口是否满足第一条件,将满足所述第一条件的窗口,作为所述第一进程的主窗口;所述第一条件包含以下至少之一:
相应窗口为可见的窗口,且相应窗口未对应父窗口和拥有者窗口;
相应窗口对应有系统菜单属性,且相应窗口包含最大化按钮或最小化按钮;
相应窗口未对应有系统菜单属性,且相应窗口包含最大化按钮和最小化按钮;
所述目标动态链接库单元,还用于监测到所述第一进程的第一窗口被创建时,根据所述目标标记策略添加标识窗口至所述第一窗口,所述第一窗口为所述第一进程的主窗口。
11.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至9任一项所述方法的步骤。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110587549.5A CN113254102B (zh) | 2021-05-27 | 2021-05-27 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110587549.5A CN113254102B (zh) | 2021-05-27 | 2021-05-27 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254102A CN113254102A (zh) | 2021-08-13 |
CN113254102B true CN113254102B (zh) | 2024-04-09 |
Family
ID=77184905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110587549.5A Active CN113254102B (zh) | 2021-05-27 | 2021-05-27 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254102B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820286B (zh) * | 2023-08-24 | 2024-01-19 | 深圳市嘉利达专显科技有限公司 | 一种多窗口显示器的操控方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998025198A2 (en) * | 1996-12-06 | 1998-06-11 | Streamix Corporation | Interstitial content display using event-capture code running in web browser address space |
US6683629B1 (en) * | 2000-08-03 | 2004-01-27 | Neoplanet, Inc. | Method in a computer system for embedding a child window in a parent window |
US6871348B1 (en) * | 1999-09-15 | 2005-03-22 | Intel Corporation | Method and apparatus for integrating the user interfaces of multiple applications into one application |
CN111382399A (zh) * | 2020-03-06 | 2020-07-07 | 北京明朝万达科技股份有限公司 | 一种水印的添加方法和装置 |
CN111752666A (zh) * | 2020-06-30 | 2020-10-09 | 杭州海康威视数字技术股份有限公司 | 窗口显示方法、装置和终端 |
CN112685700A (zh) * | 2020-12-30 | 2021-04-20 | 北京明朝万达科技股份有限公司 | 处理进程的方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713474B2 (en) * | 2010-10-05 | 2014-04-29 | Citrix Systems, Inc. | Providing user interfaces and window previews for hosted applications |
-
2021
- 2021-05-27 CN CN202110587549.5A patent/CN113254102B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998025198A2 (en) * | 1996-12-06 | 1998-06-11 | Streamix Corporation | Interstitial content display using event-capture code running in web browser address space |
US6871348B1 (en) * | 1999-09-15 | 2005-03-22 | Intel Corporation | Method and apparatus for integrating the user interfaces of multiple applications into one application |
US6683629B1 (en) * | 2000-08-03 | 2004-01-27 | Neoplanet, Inc. | Method in a computer system for embedding a child window in a parent window |
CN111382399A (zh) * | 2020-03-06 | 2020-07-07 | 北京明朝万达科技股份有限公司 | 一种水印的添加方法和装置 |
CN111752666A (zh) * | 2020-06-30 | 2020-10-09 | 杭州海康威视数字技术股份有限公司 | 窗口显示方法、装置和终端 |
CN112685700A (zh) * | 2020-12-30 | 2021-04-20 | 北京明朝万达科技股份有限公司 | 处理进程的方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于MS-Windows的通信编码仿真平台设计与实现;廖亮;《中国优秀硕士论文 信息科技》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113254102A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113296654B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US10908766B2 (en) | Managing a floating window | |
CN107748686B (zh) | 应用程序的启动优化方法、装置、存储介质及智能终端 | |
CN101770399B (zh) | 一种电子设备及切换其操作系统桌面的方法、装置 | |
US10635456B2 (en) | Method for entering operating system desktop and mobile intelligent terminal | |
CN106951335B (zh) | 一种进程守护方法和移动终端 | |
WO2019100897A1 (zh) | 一种应用程序启动方法、启动装置及计算机可读存储介质 | |
KR20150012889A (ko) | 그래픽 유저 인터페이스 제공 방법 및 장치 | |
CN106462713A (zh) | 终端的界面显示方法和终端 | |
KR20200052950A (ko) | 사용자 인터페이스 디스플레이 방법 및 단말기 디바이스 | |
CN113268286B (zh) | 一种应用启动方法、装置、投影设备及存储介质 | |
CN113254102B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114020652B (zh) | 一种应用程序的管理方法及电子设备 | |
WO2019019901A1 (zh) | 黑屏手势的响应方法、装置、存储介质及移动终端 | |
CN106503506A (zh) | 一种信息显示方法及电子设备 | |
CN105045465A (zh) | 解锁界面快速进入应用的方法及终端 | |
CN107370874A (zh) | 应用的启动方法、移动终端及存储介质 | |
CN109582187A (zh) | 文件发送方法、装置、计算机设备和存储介质 | |
CN114175026A (zh) | 一种应用监控方法、装置、存储介质及电子设备 | |
WO2018014400A1 (zh) | 一种用户输入管理方法及装置、终端 | |
US11995302B2 (en) | Interface information presenting method and electronic device | |
CN113254101B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN108228299B (zh) | 显示方法及电子设备 | |
CN112817654A (zh) | 应用软件从后台恢复至前台的方法、装置和一种控制器 | |
CN107450913B (zh) | 一种基于ExtJS的窗口部件访问控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |