跨进程窗口边框调整方法、装置、计算机设备及存储介质与流程

文档序号:32794895发布日期:2023-01-03 22:06阅读:52来源:国知局
跨进程窗口边框调整方法、装置、计算机设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种跨进程窗口边框调整方法、装置、计算机设备及存储介质。


背景技术:

2.当前浏览器在显示多个页面时,经常会出现在主窗口上显示子窗口的情况,即子窗口覆盖在主窗口上。在这种情况下,用户想要将鼠标放置在主窗口的边框区域,对主窗口的边框区域进行选中、拖动或者其他调整操作,由于子窗口遮挡主窗口,使得子窗口对应的子进程可接收到上述操作对应的指令,但主窗口对应的主进程无法上述操作对应的指令,无法响应用户对主窗口进行选中、拖动或者其他调整操作,使得窗口无法响应用户需求,影响用户的使用体验。


技术实现要素:

3.本发明实施例提供一种跨进程窗口边框调整方法、装置、计算机设备及存储介质,以解决当前主窗口被子窗口遮挡时,无法对主窗口边框调整的需求进行及时响应的问题。
4.一种跨进程窗口边框调整方法,包括:
5.子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息;
6.子进程在所述窗口过程消息和所述鼠标消息满足跨进程调整条件时,向主进程发送第一通信消息;
7.主进程响应所述第一通信消息,向主窗口发送模拟选中事件,更新所述主窗口的当前边框状态为模拟选中状态;
8.子进程在监听到所述主窗口的当前边框状态为模拟选中状态,且鼠标拦截事件监听边框选中指令时,向主进程发送第二通信消息;
9.主进程响应所述第二通信消息,向主窗口发送模拟点击事件,更新所述主窗口的当前边框状态为可调整状态;
10.子进程在监听到所述主窗口的当前边框状态为已修改状态时,响应接收到的窗口调整指令,将所述窗口调整指令发送给主窗口,对主窗口边框进行调整。
11.一种跨进程窗口边框调整装置,包括:
12.消息监听获取模块,用于使子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息;
13.第一通信消息发送模块,用于使子进程在所述窗口过程消息和所述鼠标消息满足跨进程调整条件时,向主进程发送第一通信消息;
14.模拟选中状态更新模块,用于使主进程响应所述第一通信消息,向主窗口发送模拟选中事件,更新所述主窗口的当前边框状态为模拟选中状态;
15.第二通信消息发送模块,用于使子进程在监听到所述主窗口的当前边框状态为模
拟选中状态,且鼠标拦截事件监听边框选中指令时,向主进程发送第二通信消息;
16.可调整状态更新模块,用于使主进程响应所述第二通信消息,向主窗口发送模拟点击事件,更新所述主窗口的当前边框状态为可调整状态;
17.窗口边框调整模块,用于子进程在监听到所述主窗口的当前边框状态为已修改状态时,响应接收到的窗口调整指令,将所述窗口调整指令发送给主窗口,对主窗口边框进行调整。
18.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述跨进程窗口边框调整方法。
19.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述跨进程窗口边框调整方法。
20.上述跨进程窗口边框调整方法、装置、计算机设备及存储介质,在子窗口遮挡主窗口的情况下,利用子进程监听监听子窗口的相关信息评估是否满足预设条件,在满足预设条件时,向主进程发送相应的通信消息,以使主窗口响应接收到的通信消息,先后向主窗口发送模拟选中事件和模拟点击事件,以将主窗口的当前边框状态调整为可供子进程调整的可调整状态,利用子进程接收到窗口调整指令控制主窗口边框调整,实现跨进程调整主窗口边框,以达到及时响应用户需求,提高用户的使用体验的目的。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明一实施例中跨进程窗口边框调整方法的一流程图;
23.图2是本发明一实施例中跨进程窗口边框调整方法的另一流程图;
24.图3是本发明一实施例中跨进程窗口边框调整方法的另一流程图;
25.图4是本发明一实施例中跨进程窗口边框调整方法的另一流程图;
26.图5是本发明一实施例中跨进程窗口边框调整方法的另一流程图;
27.图6是本发明一实施例中跨进程窗口边框调整方法的一时序图;
28.图7是本发明一实施例中跨进程窗口边框调整装置的一示意图;
29.图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.本发明实施例提供的跨进程窗口边框调整方法,该跨进程窗口边框调整方法可应用在计算机设备上,具体应用在计算机设备上装载的浏览器上,用于在浏览器上加载显示
主窗口及其对应的子窗口时,可通过主窗口对应的主进程和子窗口对应的子进程进行通信,以实现在子窗口遮挡主窗口的情况下,可及时响应用户对主窗口进行选中、拖动或者其他调整操作,动态调整主窗口的边框大小,提高页面显示效果,并提升用户的使用体验。本示例中,浏览器可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等计算机设备上。
32.在一实施例中,如图1和图6所示,提供一种跨进程窗口边框调整方法,以该方法应用在装载浏览器的计算机设备为例进行说明,包括如下步骤:
33.s101:子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息;
34.s102:子进程在窗口过程消息和鼠标消息满足跨进程调整条件时,向主进程发送第一通信消息;
35.s103:主进程响应第一通信消息,向主窗口发送模拟选中事件,更新主窗口的当前边框状态为模拟选中状态;
36.s104:子进程在监听到主窗口的当前边框状态为模拟选中状态,且鼠标拦截事件监听边框选中指令时,向主进程发送第二通信消息;
37.s105:主进程响应第二通信消息,向主窗口发送模拟点击事件,更新主窗口的当前边框状态为可调整状态;
38.s106:子进程在监听到主窗口的当前边框状态为已修改状态时,响应接收到的窗口调整指令,将窗口调整指令发送给主窗口,以对主窗口边框进行调整。
39.其中,子进程是用于控制子窗口工作的进程。主进程是用于控制主窗口工作的进程。窗口过程消息是指拦截到的发送到窗口过程的消息。鼠标消息是指实时拦截到的与鼠标相关的消息,包括但不限于鼠标位置和鼠标状态。
40.作为一示例,步骤s101中,子进程实时监听鼠标在浏览器中的位置,在鼠标移动到某一子窗口的边框区域时,由于子窗口一般覆盖在主窗口上,遮挡主窗口的边框区域,因此,可认定鼠标也移动到主窗口的边框区域。本示例中,由于主窗口被子窗口遮挡,使得用户无法对主窗口边框进行调整,因此,子进程在监听到鼠标移动到子窗口/主窗口的边框区域时,需调用预设拦截事件进行拦截操作,获取子窗口对应的窗口过程消息和鼠标消息,以便基于窗口过程消息和鼠标消息,是否需要对主窗口边框进行调整。
41.其中,跨进程调整条件是预先设置的用于实现在不同进程之间通信,以实现对被遮挡窗口的窗口边框进行调整的条件。第一通信消息是子进程发送给主进程的通信消息,是在满足跨进程调整条件的情况下,提醒主进程进行窗口调整模拟操作的消息。
42.作为一示例,步骤s102中,子进程在监听拦截到子窗口对应的窗口过程消息和鼠标消息,需将该子窗口对应的窗口过程消息和鼠标消息这两个消息,与系统预先设置的跨进程调整条件进行对比;若满足预先设置的跨进程调整条件,则确定有必要对被遮挡的主窗口进行调整,以避免主窗口无法响应用户的选中、拖动或者其他调整操作,此时,可基于预先设置的自定义通知事件,生成第一通信消息,将第一通信消息发送给主进程,以提醒主进程与主窗口进行模拟操作;若不满足预先设置的跨进程调整条件,则无需进行后续操作。自定义通知事件是指用户自主设置的,子进程通知主进程的事件,其方法可以是windows上进程通信的所有方法之一,例如,自定义通知事件所形成的第一通信消息为ipc消息。
43.其中,模拟选中事件是主进程发送给主窗口的事件,用于模拟选中主窗口的某一边框的事件。
44.作为一示例,步骤s103中,主进程在接收到子进程发送的第一通信消息时,可确定子窗口监听到用户想要调整主窗口边框,此时,可触发预先设置的模拟选中事件,将该模拟选中事件发送给主窗口,在主窗口上触发模拟选中操作,即模拟选中主窗口的某一边框的操作,并更新主窗口的当前边框状态为模拟选中状态。本示例中,可将主窗口的当前边框状态由未选中状态更新为模拟选中状态,具体在主窗口的边框区域显示鼠标图标,即在模拟选中的某一边框上显示模拟选中状态对应的鼠标图标,而其他处于未选中状态的边框上不显示模拟选中状态对应的鼠标图标,以达到区分某一边框是否处于被模拟选中的目的。
45.其中,第二通信消息是子进程发送给主进程的通信消息,是在监听到边框选中指令的情况下,提醒主进程用户点击选中主窗口的某一边框(具体为模拟选中边框)的消息。
46.作为一示例,步骤s104中,子进程在监听到主窗口的当前边框状态为模拟选中状态,可认定主窗口完成模拟选中操作,此时,可通过鼠标拦截事件,监听用户是否实际操作鼠标选中主窗口中的模拟选中边框,若用户按下鼠标,点击选中模拟选中边框,则鼠标拦截事件可监听到边框选中指令;若用户未按下鼠标点击选中模拟选中边框,则鼠标拦截事件不可监听到边框选中指令。本示例中,子进程在监听到边框选中指令后,可确定用户操作在模拟选中边框上按下鼠标,此时,子进程可向主进程发送第二通信消息,以提醒主进程用户点击选中主窗口的某一边框(具体为模拟选中边框)的情况。
47.其中,模拟点击事件是主进程给主窗口发送的事件,用于模拟点击主窗口中的某一边框的事件。
48.作为一示例,步骤s105中,主进程在接收到子进程发送的第二通信消息后,可确定子进程监听到用户按下鼠标,点击选中模拟选中边框,即子进程监听到点击选中模拟选中边框所形成的边框选中指令,此时,主进程向主窗口发送模拟点击事件,在主窗口上触发模拟点击操作,即模拟选中主窗口中的某一边框(具体为模拟选中边框)的操作,并更新主窗口的当前边框状态为可调整状态。本示例中,可调整状态是指可以修改主窗口边框的状态,具体表征为在主窗口上显示与可调整状态相对应的鼠标图标。例如,主进程在接收到第二通信消息后,向主窗口发送wm_nclbuttcndown事件这一模拟点击事件,以模拟主窗口按下鼠标点击模拟选中边框过程,此时,可更新主窗口的当前边框状态为可调整状态。
49.其中,窗口调整指令是子进程监听到的用户操作鼠标所确定的用于调整主窗口的边框区域的指令。
50.作为一示例,步骤s106中,子进程在监听到主窗口的当前边框状态为可调整状态,认定主窗口边框处于可以被子进程控制调整的状态,此时,可操作鼠标对主窗口的边框区域进行选中、拖动或者其他调整操作,例如,可操作鼠标对主窗口的边框大小和边框形状进行调整,接收上述操作对应的窗口调整指令,将该窗口调整指令发送给主窗口,依据窗口调整指令调整主窗口边框,以实现跨进程调整主窗口边框的目的。
51.本实施例所提供的跨进程窗口边框调整方法中,在子窗口遮挡主窗口的情况下,利用子进程监听监听子窗口的相关信息评估是否满足预设条件,在满足预设条件时,向主进程发送相应的通信消息,以使主窗口响应接收到的通信消息,先后向主窗口发送模拟选中事件和模拟点击事件,以将主窗口的当前边框状态调整为可供子进程调整的可调整状
态,利用子进程接收到窗口调整指令控制主窗口边框调整,实现跨进程调整主窗口边框,以达到及时响应用户需求,提高用户的使用体验的目的。
52.在一实施例中,步骤s101,即子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息,包括:
53.子进程在监听到鼠标移动到子窗口的边框区域时,调用窗口过程拦截事件拦截子窗口对应的窗口过程消息,并调用鼠标拦截事件拦截鼠标消息。
54.作为一示例,浏览器预先调用setwindowshook方法设置windows钩子程序,以将应用程序定义的钩子程序安装到钩子链中,该钩子程序可监控系统中某种类型的事件,这些事件与特定线程、或者与调用特定线程相同的桌面中的所有线程相关,用于监控特定事件。
55.其中,窗口过程拦截事件是预先设置的用于拦截窗口过程消息的钩子程序。作为一示例,窗口过程拦截事件可以采用但不限于wh_callwndproc钩子。该wh_callwndproc钩子是用于监控拦截发送到特定窗口的窗口过程消息。本示例中,子进程在监听到鼠标移动到子窗口的边框区域时,可从预先设置的钩子链中调用wh_callwndproc钩子这一窗口过程拦截事件,拦截子窗口对应的窗口过程消息,以便基于该窗口过程消息确定在鼠标移动至子窗口的边框区域之前,所有发送至子窗口的消息。
56.其中,鼠标拦截事件是预先设置的用于拦截鼠标消息的钩子程序,作为一示例,鼠标拦截事件可以采用但不限于wh_mouse钩子,该wh_mouse钩子是用于监控拦截鼠标消息。本示例中,子进程在监听到鼠标移动到子窗口的边框区域时,可从预先设置的钩子链中调用wh_mouse钩子这一鼠标拦截事件,拦截getmessage函数或peekmessage函数返回的鼠标消息,此处的鼠标消息可以为发布到消息队列的鼠标输入的消息。
57.本实施例中,子进程在监听到鼠标移动到子窗口的边框区域时,认定可能存在用户无法对主窗口边框进行调整的情况,此时,需调用窗口过程拦截事件拦截子窗口对应的窗口过程消息,并调用鼠标拦截事件拦截鼠标消息,可保障窗口过程消息和鼠标消息的获取效率。
58.在一实施例中,如图2所示,在步骤s101之后,即在子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息之后,跨进程窗口边框调整方法还包括:
59.s201:子进程根据窗口过程消息和鼠标消息,判断是否满足跨进程模拟条件;
60.s202:子进程在满足跨进程模拟条件时,获取目标热点位置;
61.s203:子进程在目标热点位置在子窗口对应的边框区域内时,确定窗口过程消息和鼠标消息满足跨进程调整条件。
62.其中,跨进程模拟条件是预先设置的用于评估是否需要进行跨进程模拟操作的条件,也就是说,具体为由子进程触发主进程进行模拟操作的条件。
63.作为一示例,步骤s201中,子进程可将实时监听到的窗口过程消息和鼠标消息,与预先设置的跨进程模拟条件进行比较,以判断实时监听到的消息是否满足跨进程模拟条件,从而确定后续是否需要触发主进程进行模拟操作。本示例中,跨进程模拟条件是预先设置的用于评估用户是否有调整主窗口边框需求的条件。
64.作为一示例,步骤s202中,子进程在窗口过程消息和鼠标消息满足跨进程模拟条件时,可认定监听到用户有调整主窗口边框的需求或者意向,此时,可动态获取目标热点位
置。目标热点位置是指实时监听到的目标热点所在的位置,该目标热点可以是实时监听到的鼠标热点或者光标热点。
65.作为一示例,步骤s203中,子进程在确定目标热点位置后,可将目标热点位置与子窗口对应的边框区域进行对比,以确定目标热点位置是否落入子窗口对应的边框区域;在目标热点位置落入子窗口对应的边框区域时,可认定用户有调整主窗口边框的实际操作,进而确定窗口过程消息和鼠标消息满足跨进程调整条件,以便触发主进程进行模拟操作。
66.本实施例中,先根据窗口过程消息和鼠标消息评估是否有调整主窗口边框的需求和意向,再根据目标热点位置是否落入子窗口对应的边框区域,才确定是否满足跨进程调整条件,以保障跨进程调整窗口边框满足用户需求,以提高用户体验。
67.在一实施例中,如图3所示,步骤s201,即子进程根据窗口过程消息和鼠标消息,判断是否满足跨进程模拟条件,包括:
68.s301:子进程根据窗口过程消息和鼠标消息,判断是否监听到用于调整边框区域的目标调整指令;
69.s302:子进程在监听到目标调整指令时,确定满足跨进程模拟条件。
70.其中,目标调整指令是指用户操作鼠标的指令。
71.作为一示例,步骤s301中,子进程根据实时监听到的窗口过程消息和鼠标消息,评估是否监听到用于调整边框区域的目标调整指令。例如,子进程在某一子窗口的边框区域遮挡主窗口的边框区域时,若用户在子窗口的边框区域按下鼠标进行窗口边框调整,则其拦截到的鼠标消息包含用于调整边框区域的目标调整指令。又例如,子进程在某一子窗口的边框区域遮挡主窗口的边框区域时,其用户通过键盘或者其他输入设备,输入对子窗口的边框区域进行调整的目标调整指令,则其拦截到的子窗口的窗口过程消息会监听到用于调整边框区域的目标调整指令。
72.作为一示例,步骤s302中,子进程在根据窗口过程消息和鼠标消息,确定其监听到目标调整指令时,说明监听到用户对边框区域进行调整操作,反映用户有调整主窗口边框的需求和意向,此时,认定其满足跨进程模拟条件,以保障跨进程调整窗口边框满足用户需求,以提高用户体验。
73.本实施例中,根据实时监听到的窗口过程消息和鼠标消息,评估是否包含用于调整边框区域的目标调整指令,确定其是否有调整主窗口边框的需求和意向,以确定是否满足跨进程模拟条件,进而利用子进程和主进程进行通信,实现跨进程调整主窗口边框目的,使得主窗口边框调整满足用户需求,以提高用户体验。
74.在一实施例中,如图4所示,步骤s202,即子进程在满足跨进程模拟条件时,获取目标热点位置,包括:
75.s401:子进程在满足跨进程模拟条件时,判断是否捕获到鼠标;
76.s402:子进程在捕获到鼠标时,向鼠标所在的子窗口发送屏幕坐标消息,接收鼠标所在的子窗口返回的目标热点位置;
77.s403:子进程在未捕获到鼠标时,向光标所在的子窗口发送屏幕坐标消息,接收光标所在的子窗口返回的目标热点位置。
78.作为一示例,步骤s401中,子进程在窗口过程消息和鼠标消息满足跨进程模拟条件时,判断浏览器的当前界面是否捕获到鼠标,具体调用鼠标捕获事件进行鼠标捕获,以判
断是否捕获到鼠标。
79.其中,屏幕坐标消息是指发送给窗口,以确定窗口的哪一部分对应于特定屏幕坐标的消息。作为一示例,屏幕坐标消息包括但不限于wm_nchittest消息。本示例中,可在光标移动、按下鼠标、释放鼠标、或者响应于windowfrompoint等函数时形成的消息。
80.作为一示例,步骤s402中,子进程在鼠标捕获事件捕获到鼠标时,可向鼠标所在的子窗口发送wm_nchittest消息这一屏幕坐标消息,以接收鼠标所在的子窗口返回的目标热点位置。此处的目标热点位置是指鼠标热点位置,用于表征鼠标热点在屏幕的坐标位置。
81.作为一示例,步骤s403中,子进程在鼠标捕获鼠标未捕获到鼠标时,可向光标所在的子窗口发送wm_nchittest消息这一屏幕坐标消息,以接收光标所在的子窗口返回的目标热点位置。此处的目标热点位置是指光标热点位置,用于表征光标热点在屏幕的坐标位置。
82.本实施例中,根据是否捕获到鼠标,确定子进程与鼠标所在的子窗口或者光标所在的子窗口进行通信,接收子窗口基于屏幕坐标消息反馈的目标热点位置,由于浏览器的当前界面一般均会显示鼠标和光标的至少一个,可将鼠标热点位置或光标热点位置确定为目标热点位置,保障目标热点位置获取的可行性,以避免无法识别到目标热点位置而导致跨进程窗口边框调整操作无法顺利进行。
83.在一实施例中,步骤s203,即子进程在目标热点位置在子窗口对应的边框区域内时,确定窗口过程消息和鼠标消息满足跨进程调整条件,包括:
84.s501:子进程根据目标热点位置,确定热点区域范围;
85.s502:子进程在热点区域范围位于子窗口对应的边框区域内时,确定窗口过程消息和鼠标消息满足跨进程调整条件。
86.作为一示例,步骤s501中,子进程根据目标热点位置和预先设置的边框距离,确定热点区域范围。本示例中,热点区域范围是基于目标热点位置和边框距离确定的范围,以达到扩大范围的目的,具体可采用windows系统中的hit数值表示。例如,预先设置的边框距离为5个像素点,则可以目标热点位置为中心,向上下左右四个方向延伸,形成热点区域范围。
87.作为一示例,步骤s502中,子进程将根据目标热点位置确定的热点区域范围与子窗口对应的边框区域进行比较,以确定该热点区域范围是否落入子窗口对应的边框区域内;若落入子窗口对应的边框区域内,则说明当前时刻,鼠标或者光标这两个目标热点中的任一个位于子窗口对应的边框区域内,说明此时用户通过鼠标或者光标对边框区域进行调整,因此,可确定窗口过程消息和鼠标消息满足跨进程调整条件,以便触发主进程进行模拟操作。
88.本实施例中,根据目标热点位置确定其热点区域范围,利用热点区域范围评估是否落入子窗口的边框区域内,相比于利用目标热点位置确定是否落入子窗口的边框区域内,更有助于扩大其范围,提高跨进程窗口边框调整操作的适用性。
89.在一实施例中,步骤s103,即主进程响应第一通信消息,向主窗口发送模拟选中事件,更新主窗口的当前边框状态为模拟选中状态,包括:
90.主进程响应第一通信消息,向主窗口发送边框选中事件和鼠标选中事件,根据边框选中事件确定模拟选中边框,基于鼠标选中事件更新主窗口的当前边框状态。
91.其中,边框选中事件是预先设置的用于选中某一边框的事件。作为一示例,边框选中事件可以为wm_setcursor,用于确定被模拟选中的边框。
92.其中,鼠标选中事件是指预先设置的用于选中某一鼠标形式的事件。作为一示例,鼠标选中事件可以为wm_ncmousemove事件,可根据该wm_ncmousemove事件显示不同鼠标状态。
93.作为一示例,主进程在响应第一通信消息时,可向主窗口发送边框选中事件和鼠标选中事件这两个模拟事件,根据边框选中事件确定模拟选中边框,即被模拟选中的用于调整主窗口边框的边框;并根据鼠标选中事件更新主窗口中的模拟选中边框对应的当前边框状态,即在模拟选中边框中显示鼠标选中事件对应的鼠标图标,以便子进程监听识别出某一模拟选中边框处于模拟选中状态,以方便进行后续步骤。
94.例如,主进程在触发模拟选中事件时,可采用dword cursor=0x0200000a/0x0200000b/0x0200000c/0x0200000d等分别表示选中左边框/右边框/上边框/下边框等,也可以采用其他标签来确定;并通过sendmessage(gethwnd(),wm_setcursor,(long)gethwnd(),cursor)和sendmessage(gethwnd(),wm_ncmousemove,res,makelparam(x,y))来实现在主窗口的边框位置显示被模拟选中的鼠标,其中,cursor指鼠标显示数值,sendmessage是指给指定窗口(即主窗口)同步发送的窗口消息,gethwnd()用于获取主窗口句柄,是随意取的一个函数名称,res是变量名称,是随意取的一个变量名称,可以是指hit数值。
95.本实施例中,主进程向主窗口发送边框选中事件,确定模拟选中边框,并发送鼠标选中事件,更新模拟选中边框的当前边框状态,以达到模拟主进程自行控制主窗口更新其模拟选中边框的当前边框状态的目的,从而实现利用子进程控制主进程,更新主窗口的当前边框状态的目的。
96.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
97.在一实施例中,提供一种跨进程窗口边框调整装置,该跨进程窗口边框调整装置与上述实施例中跨进程窗口边框调整方法一一对应。如图7所示,该跨进程窗口边框调整装置包括消息监听获取模块701、第一通信消息发送模块702、模拟选中状态更新模块703、第二通信消息发送模块704、可调整状态更新模块705和窗口边框调整模块706。各功能模块详细说明如下:
98.消息监听获取模块701,用于使子进程在监听到鼠标移动到子窗口的边框区域时,获取子窗口对应的窗口过程消息和鼠标消息;
99.第一通信消息发送模块702,用于使子进程在窗口过程消息和鼠标消息满足跨进程调整条件时,向主进程发送第一通信消息;
100.模拟选中状态更新模块703,用于使主进程响应第一通信消息,向主窗口发送模拟选中事件,更新主窗口的当前边框状态为模拟选中状态;
101.第二通信消息发送模块704,用于使子进程在监听到主窗口的当前边框状态为模拟选中状态,且鼠标拦截事件监听边框选中指令时,向主进程发送第二通信消息;
102.可调整状态更新模块705,用于使主进程响应第二通信消息,向主窗口发送模拟点击事件,更新主窗口的当前边框状态为可调整状态;
103.窗口边框调整模块706,用于子进程在监听到主窗口的当前边框状态为已修改状
态时,响应接收到的窗口调整指令,将窗口调整指令发送给主窗口,对主窗口边框进行调整。
104.在一实施例中,消息监听获取模块701,用于使子进程在监听到鼠标移动到子窗口的边框区域时,调用窗口过程拦截事件拦截子窗口对应的窗口过程消息,并调用鼠标拦截事件拦截鼠标消息。
105.在一实施例中,跨进程窗口边框调整装置还包括:
106.跨进程模拟条件判断模块,用于使子进程根据窗口过程消息和鼠标消息,判断是否满足跨进程模拟条件;
107.目标热点位置获取模块,用于使子进程在满足跨进程模拟条件时,获取目标热点位置;
108.跨进程调整条件判定模块,用于使子进程在目标热点位置在子窗口对应的边框区域内时,确定窗口过程消息和鼠标消息满足跨进程调整条件。
109.在一实施例中,跨进程模拟条件判断模块,包括:
110.目标调整指令监听单元,用于使子进程根据窗口过程消息和鼠标消息,判断是否监听到用于调整边框区域的目标调整指令;
111.跨进程模拟条件判定单元,用于使子进程在监听到目标调整指令时,确定满足跨进程模拟条件。
112.在一实施例中,目标热点位置获取模块,包括:
113.鼠标捕获判断单元,用于子进程在满足跨进程模拟条件时,判断是否捕获到鼠标;
114.鼠标热点位置接收单元,用于子进程在捕获到鼠标时,向鼠标所在的子窗口发送屏幕坐标消息,接收鼠标所在的子窗口返回的目标热点位置;
115.光标热点位置接收单元,用于子进程在未捕获到鼠标时,向光标所在的子窗口发送屏幕坐标消息,接收光标所在的子窗口返回的目标热点位置。
116.在一实施例中,跨进程调整条件判定模块,包括:
117.热点区域范围确定单元,用于使子进程根据目标热点位置,确定热点区域范围;
118.跨进程调整条件判定单元,用于使子进程在热点区域范围位于子窗口对应的边框区域内时,确定窗口过程消息和鼠标消息满足跨进程调整条件。
119.在一实施例中,模拟选中状态更新模块,用于使主进程响应第一通信消息,向主窗口发送边框选中事件和鼠标选中事件,根据边框选中事件确定模拟选中边框,基于鼠标选中事件更新主窗口的当前边框状态。
120.关于跨进程窗口边框调整装置的具体限定可以参见上文中对于跨进程窗口边框调整方法的限定,在此不再赘述。上述跨进程窗口边框调整装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
121.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据
库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行跨进程窗口边框调整方法过程中采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跨进程窗口边框调整方法。
122.在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中跨进程窗口边框调整方法,例如图1所示s101-s106,或者图2至图5中所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现跨进程窗口边框调整装置这一实施例中的各模块/单元的功能,例如图7所示的消息监听获取模块701、第一通信消息发送模块702、模拟选中状态更新模块703、第二通信消息发送模块704、可调整状态更新模块705和窗口边框调整模块706的功能,为避免重复,这里不再赘述。
123.在一实施例中,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中跨进程窗口边框调整方法,例如图1所示s101-s106,或者图2至图5中所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述跨进程窗口边框调整装置这一实施例中的各模块/单元的功能,例如图7所示的消息监听获取模块701、第一通信消息发送模块702、模拟选中状态更新模块703、第二通信消息发送模块704、可调整状态更新模块705和窗口边框调整模块706的功能,为避免重复,这里不再赘述。
124.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
125.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
126.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1