全屏窗体的处理方法、装置、计算机设备和可读存储介质制造方法及图纸

技术编号:36444539 阅读:9 留言:0更新日期:2023-01-25 22:38
本发明专利技术提供了一种全屏窗体的处理方法、装置、计算机设备和可读存储介质。该全屏窗体的处理方法包括在全屏窗体的进程中开启独立的工作线程,以使所述工作线程启动屏蔽功能,其中,所述屏蔽功能包括禁用预设热键组合键和屏蔽预设功能键;以及当所述全屏窗体的进程完成预设任务时,控制所述工作线程关闭所述屏蔽功能。通过本发明专利技术,能够实现现Linux操作系统下的全屏窗体覆盖。全屏窗体覆盖。全屏窗体覆盖。

【技术实现步骤摘要】
全屏窗体的处理方法、装置、计算机设备和可读存储介质


[0001]本专利技术涉及全屏窗体处理
,尤其涉及一种全屏窗体的处理方法、装置、计算机设备和可读存储介质。

技术介绍

[0002]在系统登录等场景中,常常会基于安全等需求,通过一个全屏窗体覆盖当前界面,以在该全屏窗体中完成进一步验证后再显示当前界面。现有技术中,通常通过调用Qt全屏窗体的函数来达到上述效果,但是,专利技术人研究发现,在Linux操作系统下,可通过一些热键组合键,比如:ctrl+alt+fn,fn为f1~f9,来重新打开一个系统登录窗口,进而找到全屏窗体进程,将其“杀掉”;或者,也可以使用功能键,比如ESC键、DEL键来退出当前窗口,那么相应的全屏窗体进程就被“杀死”。因此,在Linux操作系统下,现有技术中的全屏窗体无法达到强制全屏覆盖的目的。
[0003]因此,如何实现Linux操作系统下的全屏窗体覆盖,成为本领域亟需解决的技术问题。

技术实现思路

[0004]本专利技术的目的是提供一种全屏窗体的处理方法、装置、计算机设备和可读存储介质,用于解决现有技术中的上述技术问题。
[0005]一方面,为实现上述目的,本专利技术提供了一种全屏窗体的处理方法。
[0006]该全屏窗体的处理方法包括:在全屏窗体的进程中开启独立的工作线程,以使所述工作线程启动屏蔽功能,其中,所述屏蔽功能包括禁用预设热键组合键和屏蔽预设功能键;以及当所述全屏窗体的进程完成预设任务时,控制所述工作线程关闭所述屏蔽功能。
[0007]进一步地,所述工作线程屏蔽所述预设功能键时执行的步骤包括:设置所述全屏窗体为控制窗体;注册键盘钩子并捕捉用户敲击键盘事件;判断捕捉到的敲击键盘事件是否为对所述预设功能键的操作;以及如果是对所述预设功能键的操作,拦截所述敲击键盘事件,如果不是对所述预设功能键的操作,发送所述敲击键盘事件至所述控制窗体,所述工作线程关闭所述屏蔽功能时执行的步骤包括:释放所述键盘钩子;销毁所述控制窗体。
[0008]进一步地,设置所述全屏窗体为控制窗体的步骤包括:通过调用XOpenDisplay函数连接X服务器;通过调用DefaultRootWindow函数设置所述全屏窗体为默认X服务器窗口;注册键盘钩子并捕捉用户敲击键盘事件的步骤包括:通过调用XGrabKeyboard函数勾住键盘事件;通过调用XNextEvent函数捕捉用户敲击键盘的动作,并获取KeyPress和KeyRelease事件;发送所述敲击键盘事件至所述控制窗体的步骤包括:通过调用SendEvent函数发送所述KeyRelease事件;释放所述键盘钩子的步骤包括:通过调用XUngrabKeyboard函数释放所述键盘事件;销毁所述控制窗体的步骤包括:通过调用XDestoryWindow函数销毁所述默认X服务器窗口,通过调用XCloseDisplay函数断开与X服务器的连接。
[0009]进一步地,判断捕捉到的敲击键盘事件是否为对所述预设功能键的操作的步骤包
括:获取捕捉到的敲击键盘事件中的按键值;在预存的键盘按键值表中查询所述敲击键盘事件中的按键值对应的按键,其中,所述键盘按键值表包括按键和按键值的对应关系;其中,当查询到的按键为所述预设功能键时,捕捉到的敲击键盘事件是对所述预设功能键的操作,当查询到的按键不为所述预设功能键时,捕捉到的敲击键盘事件不是对所述预设功能键的操作。
[0010]进一步地,所述工作线程禁用预设热键组合键时执行的步骤包括:将所述预设热键组合键的映射修改为none;所述工作线程关闭所述屏蔽功能时执行的步骤包括:恢复所述预设热键组合键的默认映射。
[0011]进一步地,将所述预设热键组合键的映射修改为空的步骤包括:执行命令行setxkbmap

option srvrkeys:none;或者使用root权限打开/etc/default/keyboard文件,在xkboptions选项后添加srvrkeys:none关键字段,并保存退出。恢复所述预设热键组合键的默认映射的步骤包括:执行命令行setxkbmap

option;或者使用root权限打开/etc/default/keyboard文件,将xkboptions选项后的内容置空,并保存退出。
[0012]进一步地,当所述全屏窗体的进程完成预设任务时,控制所述工作线程关闭所述屏蔽功能的步骤包括:在所述全屏窗体的进程结束前,向所述工作线程发送进程结束的消息,其中,所述工作线程用于在接收到所述进程结束的消息时,关闭所述屏蔽功能。
[0013]另一方面,为实现上述目的,本专利技术提供了一种全屏窗体的处理装置。
[0014]该全屏窗体的处理装置包括:开启模块,用于在全屏窗体的进程中开启独立的工作线程,以使所述工作线程启动屏蔽功能,其中,所述屏蔽功能包括禁用操作系统中的预设热键组合键和屏蔽所述操作系统中的预设功能键;以及控制模块,用于当所述全屏窗体的进程完成预设任务时,控制所述工作线程关闭所述屏蔽功能。
[0015]为实现上述目的,本专利技术还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
[0016]为实现上述目的,本专利技术还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0017]本专利技术提供的全屏窗体的处理方法、装置、计算机设备和可读存储介质,全屏窗体的进程中设置预设任务,为了保证该预设任务的强制有效执行,也即保证全屏窗体的全屏覆盖目的,在全屏窗体的进程中开启独立的工作线程,以使该工作线程启动屏蔽功能,禁用预设热键组合键和屏蔽预设功能键,当全屏窗体的进程完成预设任务时,控制工作线程关闭上述屏蔽功能。采用本专利技术的全屏窗体的处理方法、装置、计算机设备和可读存储介质,通过禁用热键组合键和屏蔽功能键,避免用户通过操作热键组合键和/或预设功能键杀掉全屏窗体的进程,保证了全屏窗体的有效覆盖,并且通过在全屏窗体的进程中开启工作线程,以控制工作线程来实现控制上述屏蔽功能的启用和退出,避免禁用热键组合键和屏蔽功能键对全屏窗体的进程造成太大的影响,同时在全屏窗体的进程启动后,工作线程启动屏蔽功能,在全屏窗体的进程中该预设任务完成后,工作线程关闭屏蔽功能,在进程结束时,工作线程会同时退出,使得屏蔽功能恰好存续在预设任务的执行阶段,既不会长时间启动屏蔽功能而造成计算机的性能资源的浪费,也不会在预设任务还未成功前退出全屏窗体而影响其有效覆盖,覆盖控制准确。
附图说明
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0019]图1为本专利技术实施例一提供的全屏窗体的处理方法的流程图;
[0020]图2为本专利技术实施例二提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种全屏窗体的处理方法,其特征在于,包括:在全屏窗体的进程中开启独立的工作线程,以使所述工作线程启动屏蔽功能,其中,所述屏蔽功能包括禁用预设热键组合键和屏蔽预设功能键;以及当所述全屏窗体的进程完成预设任务时,控制所述工作线程关闭所述屏蔽功能。2.根据权利要求1所述的全屏窗体的处理方法,其特征在于,所述工作线程屏蔽所述预设功能键时执行的步骤包括:设置所述全屏窗体为控制窗体;注册键盘钩子并捕捉用户敲击键盘事件;判断捕捉到的敲击键盘事件是否为对所述预设功能键的操作;以及如果是对所述预设功能键的操作,拦截所述敲击键盘事件,如果不是对所述预设功能键的操作,发送所述敲击键盘事件至所述控制窗体,所述工作线程关闭所述屏蔽功能时执行的步骤包括:释放所述键盘钩子;销毁所述控制窗体。3.根据权利要求2所述的全屏窗体的处理方法,其特征在于,设置所述全屏窗体为控制窗体的步骤包括:通过调用XOpenDisplay函数连接X服务器;通过调用DefaultRootWindow函数设置所述全屏窗体为默认X服务器窗口;注册键盘钩子并捕捉用户敲击键盘事件的步骤包括:通过调用XGrabKeyboard函数勾住键盘事件;通过调用XNextEvent函数捕捉用户敲击键盘的动作,并获取KeyPress和KeyRelease事件;发送所述敲击键盘事件至所述控制窗体的步骤包括:通过调用SendEvent函数发送所述KeyRelease事件;释放所述键盘钩子的步骤包括:通过调用XUngrabKeyboard函数释放所述键盘事件;销毁所述控制窗体的步骤包括:通过调用XDestoryWindow函数销毁所述默认X服务器窗口,通过调用XCloseDisplay函数断开与X服务器的连接。4.根据权利要求2所述的全屏窗体的处理方法,其特征在于,判断捕捉到的敲击键盘事件是否为对所述预设功能键的操作的步骤包括:获取捕捉到的敲击键盘事件中的按键值;在预存的键盘按键值表中查询所述敲击键盘事件中的按键值对应的按键,其中,所述键盘按键值表包括按键和按键值的对应关系;其中,当查询到的按键为所述预设功能键时,捕捉到的敲击键盘事件是对所述预设功能键的操...

【专利技术属性】
技术研发人员:朱建军张帅
申请(专利权)人:网神信息技术北京股份有限公司
类型:发明
国别省市:

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

1