CN115543152A - 确定文件状态的方法及装置 - Google Patents
确定文件状态的方法及装置 Download PDFInfo
- Publication number
- CN115543152A CN115543152A CN202211459409.0A CN202211459409A CN115543152A CN 115543152 A CN115543152 A CN 115543152A CN 202211459409 A CN202211459409 A CN 202211459409A CN 115543152 A CN115543152 A CN 115543152A
- Authority
- CN
- China
- Prior art keywords
- window
- target
- file
- title list
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种确定文件状态的方法及装置。其中,该方法包括:采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表;将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果;当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态。本申请解决了现有技术利用hook技术和插件技术确定文件状态造成的无法精准确定文件状态的技术问题。
Description
技术领域
本申请涉及数据安全领域,具体而言,涉及一种确定文件状态的方法及装置。
背景技术
在数据安全系统中,处理用户对文件进行的相关操作时,需要捕获到文件的打开和关闭操作,该捕获操作用于对相关文件进行解密、加密和屏幕水印等保密措施的处理,通常使用hook技术和插件技术,但是上述两中技术存在如下问题:
使用hook技术时,存在用户操作的文件关闭和软件内部调用系统应用程序编程接口的文件关闭不一致的问题。某些情况下文件在软件界面处于打开状态,但是软件内部已经调用系统应用程序编程接口关闭了此文件;另外使用钩子技术还会导致相关应用程序或操作系统运行的稳定性下降问题,以及在特定环境的系统中被禁止使用的问题。
使用插件技术时,存在功能覆盖不全面的问题,部分文本处理软件不支持相关插件,或者只有较新版本的软件才支持相关的插件技术。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种确定文件状态的方法及装置,以至少解决现有技术利用hook技术和插件技术确定文件状态造成的无法精准确定文件状态的技术问题。
根据本申请实施例的一个方面,提供了一种确定文件状态的方法,包括:采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题;将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件;当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口。
可选地,根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,包括:根据监控进程对操作系统中的全部窗口进行枚举,得到窗口句柄集合,其中,窗口句柄集合包括多个窗口句柄,窗口句柄用于标识窗口;将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,生成第二关联结果;从第二关联结果中确定第一窗口对应的第一窗口句柄集合;确定第一窗口句柄集合中各第一窗口句柄对应的第一窗口标题,得到第一窗口标题列表。
可选地,从第二关联结果中确定第一窗口对应的第一窗口句柄集合,包括:判断第二关联结果中的进程是否位于预设的监控进程列表;若判断结果为是,将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合;若判断结果为否,拒绝将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合。
可选地,将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,包括:获取各个窗口句柄所属的进程的进程标识符和进程名称;根据进程标识符和进程名称,将各个窗口句柄与其所属的进程进行关联。
可选地,将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,包括:确定目标文件的名称对应的第一字符串和各个第一窗口标题对应的第二字符串;对第一字符串和第二字符串进行匹配,确定第一字符串和第二字符串的匹配度;如果第一字符串和第二字符串的匹配度大于预设数值,确定目标文件的名称和第一窗口标题匹配成功。
可选地,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表,包括:根据监控进程对发生变化的第一窗口进行枚举,得到目标窗口句柄集合,其中,目标窗口句柄集合包括多个目标窗口句柄;将目标窗口句柄集合中的各个目标窗口句柄与其所属的进程进行关联,生成第三关联结果;从第三关联结果中确定第二窗口对应的第二窗口句柄集合;确定第二窗口句柄集合中各第二窗口句柄对应的第二窗口标题,得到第二窗口标题列表。
可选地,根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,包括:比对第一窗口标题列表和第二窗口标题列表,确定第二窗口标题列表中是否存在目标窗口对应的目标窗口标题;若第二窗口标题列表中不存在目标窗口标题,确定与目标窗口关联的文件处于关闭状态。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的确定文件状态的方法。
根据本申请实施例的再一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的确定文件状态的方法。
在本申请实施例中,采用采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题;将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件;当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口的方式,通过将文件名称与窗口标题列表进行匹配,达到了基于窗口标题列表中窗口标题的变化判断与窗口标题关联文件的状态的目的,从而实现了精准确定文件状态的技术效果,进而解决了现有技术利用hook技术和插件技术确定文件状态造成的无法精准确定文件状态技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种确定文件状态的方法的流程图;
图2是根据本申请实施例的一种确定文件状态的装置的结构图;
图3是根据本申请实施例提供的一种确定文件状态的方法的计算机终端(或电子设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
句柄:句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗口、文件等,值得注意的是句柄不能是常量。在Windows系统中之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。
窗口:窗口是指应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。用户可以在在窗口中操作应用程序,进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标,数据放在中央。Windows窗口的组成部分包括:1.标题栏:显示当前应用程序名、文件名等;2.菜单栏,为软件的大多数功能提供入口;3.工具栏,以按钮形式给出用户常用命令;4.工作区域,进行窗口的输入输出操作;5.状态栏,显示运行程序的当前状态。
根据本申请实施例,提供了一种确定文件状态的方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种确定文件状态的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题。
根据本申请的一个可选的实施例,执行步骤S102采用监控进程监控操作系统中的窗口包括:操作系统中所有可视窗口及其子窗口和当前处于活动状态的窗口,当前处于活动状态的窗口为接受用户输入操作的窗口。
在本步骤中,对操作系统中全部窗口进行监控,得到处于活动状态的第一窗口所对应的第一窗口标题列表。
作为本申请的一个可选的实施例,在执行步骤S102之前,还需要建立和启用上述监控进程。
步骤S104,将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件。
在执行步骤S104时,将处于打开状态的文件的名称与处于活动状态的第一窗口所对应的第一窗口标题进行内容匹配,建立“打开状态的文件-窗口”的逐一关联关系。
步骤S106,当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表。
可以理解的是,第一窗口发生变化包括但不限于窗口关闭或者输入焦点切换到其他窗口上,第一窗口发生变化后,通过监控进程对发生变化的第一窗口进行监控,得到第二窗口以及第二窗口对应的标题列表。
需要说明的是,执行步骤S106时对发生变化的第一窗口进行监控的操作和执行步骤S102的操作相同。
步骤S108,根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口。
作为本申请的一个可选的实施例,在执行步骤S108时,比对第一窗口标题列表和第二窗口标题列表中各标题的内容,如果判定某个之前和打开文件进行关联过的窗口从第二窗口标题列表中消失,则判定消失窗口关联的打开文件已经被用户关闭,即如果通过操作系统的应用程序编程接口不能够通过窗口句柄提取到窗口标题,则说明之前记录的窗口句柄已经失效,与之关联的窗口已经被关闭,此窗口句柄也已经被操作系统回收了。
根据上述步骤,通过将文件名称与窗口标题列表进行匹配,达到了基于窗口标题列表中窗口标题的变化判断与窗口标题关联文件的状态的目的,从而实现了精准确定文件状态的技术效果,进而解决了现有技术利用hook技术和插件技术确定文件状态造成的无法精准确定文件状态技术问题。
根据本申请的一个可选的实施例,根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,可以通过以下方法实现:根据监控进程对操作系统中的全部窗口进行枚举,得到窗口句柄集合,其中,窗口句柄集合包括多个窗口句柄,窗口句柄用于标识窗口;将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,生成第二关联结果;从第二关联结果中确定第一窗口对应的第一窗口句柄集合;确定第一窗口句柄集合中各第一窗口句柄对应的第一窗口标题,得到第一窗口标题列表。
在上述步骤中,通过调用系统应用程序接口枚举得到操作系统中所有窗口对应的窗口句柄集合,然后将窗口句柄集合中的所有窗口句柄通过其相关属性和其所属的进程进行关联,筛选出监控范围内的进程及其可视窗口的句柄列表,通过窗口句柄取得窗口标题,最终得到窗口标题列表。
在本申请的一些可选的实施例,从第二关联结果中确定第一窗口对应的第一窗口句柄集合,可以通过以下方法实现:判断第二关联结果中的进程是否位于预设的监控进程列表;若判断结果为是,将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合;若判断结果为否,拒绝将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合。
判断第二关联结果中的进程是否位于预设的监控进程列表,即通过判断进程名称是否在监控进程列表里来判断是否监控此窗口句柄,其中,监控进程列表里为文本处理软件对应进程的列表。如果第二关联结果中的进程为文本处理软件对应进程,将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合;如果第二关联结果中的进程不为文本处理软件对应进程,拒绝将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合。
在本申请的一些可选的实施例中,将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,通过以下方法实现:获取各个窗口句柄所属的进程的进程标识符和进程名称;根据进程标识符和进程名称,将各个窗口句柄与其所属的进程进行关联。
将所有窗口句柄通过其相关属性和其所属的进程进行关联主要是通过操作系统的应用程序接口获取到进程标识(ID)和进程名称,利用进程标识和进程名称将各个窗口句柄与其所属的进程进行关联。
在一个可选的实施例中,将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,包括以下步骤:确定目标文件的名称对应的第一字符串和各个第一窗口标题对应的第二字符串;对第一字符串和第二字符串进行匹配,确定第一字符串和第二字符串的匹配度;如果第一字符串和第二字符串的匹配度大于预设数值,确定目标文件的名称和第一窗口标题匹配成功。
根据本申请的一个可选的实施例,确定目标文件的名称对应的第一字符串和第一窗口标题列表中各个第一窗口标题对应的第二字符串,对第一字符串和第二字符串进行匹配,实现对第一字符串和第二字符串的匹配度的确定。如果第一字符串和第二字符串的匹配度大于预设数值,确定目标文件的名称和第一窗口标题匹配成功;如果第一字符串和第二字符串的匹配度不大于预设数值,确定目标文件的名称和第一窗口标题匹配失败。
根据本申请的另一个可选的实施例,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表,可以通过以下方法实现:根据监控进程对发生变化的第一窗口进行枚举,得到目标窗口句柄集合,其中,目标窗口句柄集合包括多个目标窗口句柄;将目标窗口句柄集合中的各个目标窗口句柄与其所属的进程进行关联,生成第三关联结果;从第三关联结果中确定第二窗口对应的第二窗口句柄集合;确定第二窗口句柄集合中各第二窗口句柄对应的第二窗口标题,得到第二窗口标题列表。
在本申请的一些可选的实施例,窗口发生变化口指窗口关闭或者输入焦点切换到其他窗口上,根据监控进程对发生变化窗口进行枚举,可以得到目标窗口句柄集合,将目标窗口句柄集合中的各个目标窗口句柄与各个目标窗口句柄所属的进程进行关联,生成相应的关联结果,从该关联结果中可以确定第二窗口对应的第二窗口句柄集合,最后,在第二窗口句柄集合中可以确定第二窗口句柄对应的第二窗口标题,根据多个第二窗口标题,可以得到第二窗口标题列表。
作为本申请的一个可选的实施例,根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,通过以下方法实现:比对第一窗口标题列表和第二窗口标题列表,确定第二窗口标题列表中是否存在目标窗口对应的目标窗口标题;若第二窗口标题列表中不存在目标窗口标题,确定与目标窗口关联的文件处于关闭状态。
比对第一窗口标题列表和第二窗口标题列表,如果判定某个之前和打开文件进行关联过的窗口从第二窗口标题列表中消失,则判定消失窗口关联的打开文件已经被用户关闭了,即如果通过操作系统的应用程序编程接口不能够通过窗口句柄提取到窗口标题,则说明之前记录的窗口句柄已经失效,与之关联的窗口已经被关闭,此窗口句柄也已经被操作系统回收了。
通过上述方法,可以实现对用户在软件界面上执行关闭文件操作的精准捕获的技术效果。
图2是根据本申请实施例的一种确定文件状态的装置的结构图,如图2所示,该装置包括:
第一监控模块20,用于根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题。
根据本申请的一个可选的实施例,采用监控进程监控操作系统中的窗口包括:操作系统中所有可视窗口及其子窗口和当前处于活动状态的窗口,当前处于活动状态的窗口为接受用户输入操作的窗口。所述第一监控模块20还用于建立和启用上述监控进程。
通过第一监控模块20,实现对操作系统中全部窗口进行监控,得到处于活动状态的第一窗口所对应的第一窗口标题列表。
匹配模块22,用于将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件。
通过匹配模块22,将处于打开状态的文件的名称与处于活动状态的第一窗口所对应的第一窗口标题进行内容匹配,建立“打开状态的文件:窗口”的逐一关联关系。
第二监控模块24,用于当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表。
可以理解的是,第一窗口发生变化包括但不限于窗口关闭或者输入焦点切换到其他窗口上,第一窗口发生变化后,通过监控进程对发生变化的第一窗口进行监控,得到第二窗口以及第二窗口对应的标题列表。
确定模块26,用于根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口。
作为本申请的一个可选的实施例,通过确定模块26,比对第一窗口标题列表和第二窗口标题列表中各标题的内容,如果判定某个之前和打开文件进行关联过的窗口从第二窗口标题列表中消失,则判定消失窗口关联的打开文件已经被用户关闭,即如果通过操作系统的应用程序编程接口不能够通过窗口句柄提取到窗口标题,则说明之前记录的窗口句柄已经失效,与之关联的窗口已经被关闭,此窗口句柄也已经被操作系统回收了。
通过上述装置,通过将文件名称与窗口标题列表进行匹配,达到了基于窗口标题列表中窗口标题的变化判断与窗口标题关联文件的状态的目的,从而实现了精准确定文件状态的技术效果,进而解决了现有技术利用hook技术和插件技术确定文件状态造成的无法精准确定文件状态技术问题。
根据本申请的一个可选的实施例,上述装置还用于根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,包括:根据监控进程对操作系统中的全部窗口进行枚举,得到窗口句柄集合,其中,窗口句柄集合包括多个窗口句柄,窗口句柄用于标识窗口;将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,生成第二关联结果;从第二关联结果中确定第一窗口对应的第一窗口句柄集合;确定第一窗口句柄集合中各第一窗口句柄对应的第一窗口标题,得到第一窗口标题列表。
通过上述装置,通过调用系统应用程序接口枚举得到操作系统中所有窗口对应的窗口句柄集合,然后将窗口句柄集合中的所有窗口句柄通过其相关属性和其所属的进程进行关联,筛选出监控范围内的进程及其可视窗口的句柄列表,通过窗口句柄取得窗口标题,最终得到窗口标题列表。
在本申请的一些可选的实施例,上述装置还用于从第二关联结果中确定第一窗口对应的第一窗口句柄集合,包括:判断第二关联结果中的进程是否位于预设的监控进程列表;若判断结果为是,将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合;若判断结果为否,拒绝将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合。
判断第二关联结果中的进程是否位于预设的监控进程列表,即通过判断进程名称是否在监控进程列表里来判断是否监控此窗口句柄,其中,监控进程列表里为文本处理软件对应进程的列表。如果第二关联结果中的进程为文本处理软件对应进程,将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合;如果第二关联结果中的进程不为文本处理软件对应进程,拒绝将第二关联结果中的进程对应的窗口句柄添加到第一窗口句柄集合。
在本申请的一些可选的实施例中,上述装置还用于将窗口句柄集合中的各个窗口句柄与其所属的进程进行关联,包括下述步骤:获取各个窗口句柄所属的进程的进程标识符和进程名称;根据进程标识符和进程名称,将各个窗口句柄与其所属的进程进行关联。
将所有窗口句柄通过其相关属性和其所属的进程进行关联主要是通过操作系统的应用程序接口获取到进程标识(ID)和进程名称,利用进程标识和进程名称将各个窗口句柄与其所属的进程进行关联。
在一个可选的实施例中,上述装置还用于将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,包括以下步骤:确定目标文件的名称对应的第一字符串和各个第一窗口标题对应的第二字符串;对第一字符串和第二字符串进行匹配,确定第一字符串和第二字符串的匹配度;如果第一字符串和第二字符串的匹配度大于预设数值,确定目标文件的名称和第一窗口标题匹配成功。
根据本申请的一个可选的实施例,确定目标文件的名称对应的第一字符串和第一窗口标题列表中各个第一窗口标题对应的第二字符串,对第一字符串和第二字符串进行匹配,实现对第一字符串和第二字符串的匹配度的确定。如果第一字符串和第二字符串的匹配度大于预设数值,确定目标文件的名称和第一窗口标题匹配成功;如果第一字符串和第二字符串的匹配度不大于预设数值,确定目标文件的名称和第一窗口标题匹配失败。
根据本申请的另一个可选的实施例,上述装置还用于根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表,包括:根据监控进程对发生变化的第一窗口进行枚举,得到目标窗口句柄集合,其中,目标窗口句柄集合包括多个目标窗口句柄;将目标窗口句柄集合中的各个目标窗口句柄与其所属的进程进行关联,生成第三关联结果;从第三关联结果中确定第二窗口对应的第二窗口句柄集合;确定第二窗口句柄集合中各第二窗口句柄对应的第二窗口标题,得到第二窗口标题列表。
在本申请的一些可选的实施例,窗口发生变化口指窗口关闭或者输入焦点切换到其他窗口上,根据监控进程对发生变化窗口进行枚举,可以得到目标窗口句柄集合,将目标窗口句柄集合中的各个目标窗口句柄与各个目标窗口句柄所属的进程进行关联,生成相应的关联结果,从该关联结果中可以确定第二窗口对应的第二窗口句柄集合,最后,在第二窗口句柄集合中可以确定第二窗口句柄对应的第二窗口标题,根据多个第二窗口标题,可以得到第二窗口标题列表。
作为本申请的一个可选的实施例,上述装置还用于根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,包括以下步骤:比对第一窗口标题列表和第二窗口标题列表,确定第二窗口标题列表中是否存在目标窗口对应的目标窗口标题;若第二窗口标题列表中不存在目标窗口标题,确定与目标窗口关联的文件处于关闭状态。
比对第一窗口标题列表和第二窗口标题列表,如果判定某个之前和打开文件进行关联过的窗口从第二窗口标题列表中消失,则判定消失窗口关联的打开文件已经被用户关闭了,即如果通过操作系统的应用程序编程接口不能够通过窗口句柄提取到窗口标题,则说明之前记录的窗口句柄已经失效,与之关联的窗口已经被关闭,此窗口句柄也已经被操作系统回收了。
通过上述装置,可以实现对用户在软件界面上执行关闭文件操作的精准捕获的技术效果。
需要说明的是,上述图2中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
还需要说明的是,图2所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
图3示出了一种用于实现确定文件状态的方法的计算机终端(或移动设备)的硬件结构框图。如图3所示,计算机终端30(或移动设备30)可以包括一个或多个(图中采用302a、302b,……,302n来示出)处理器302(处理器302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输模块306。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端30还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
应当注意到的是上述一个或多个处理器302和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端30(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器304可用于存储应用软件的软件程序以及模块,如本申请实施例中的确定文件状态的方法对应的程序指令/数据存储装置,处理器302通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的确定文件状态的方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端30的通信供应商提供的无线网络。在一个实例中,传输模块306包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端30(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图3所示的计算机设备(或电子设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图3仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或电子设备)中的部件的类型。
需要说明的是,图3所示的电子设备用于执行图1所示的确定文件状态的方法,因此上述命令的执行方法中的相关解释说明也适用于该电子设备,此处不再赘述。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的确定文件状态的方法。
非易失性存储介质执行以下功能的程序:采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题;将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件;当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口。
本申请实施例还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上确定文件状态的方法。
处理器用于运行执行以下功能的程序:采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,第一窗口为处于活动状态的窗口,第一窗口标题列表中包括多个第一窗口标题;将目标文件的名称和第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,目标文件为利用监控进程监控到处于打开状态的文件;当第一窗口发生变化时,根据监控进程对发生变化的第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;根据第一窗口标题列表和第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,目标窗口为第一关联结果中的第一窗口标题对应的窗口。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种确定文件状态的方法,其特征在于,包括:
采用监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,所述第一窗口为处于活动状态的窗口,所述第一窗口标题列表中包括多个第一窗口标题;
将目标文件的名称和所述第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,所述目标文件为利用所述监控进程监控到处于打开状态的文件;
当所述第一窗口发生变化时,根据所述监控进程对发生变化的所述第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;
根据所述第一窗口标题列表和所述第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,所述目标窗口为所述第一关联结果中的第一窗口标题对应的窗口。
2.根据权利要求1所述的方法,其特征在于,根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,包括:
根据所述监控进程对所述操作系统中的全部窗口进行枚举,得到窗口句柄集合,其中,所述窗口句柄集合包括多个窗口句柄,所述窗口句柄用于标识所述窗口;
将所述窗口句柄集合中的各个所述窗口句柄与其所属的进程进行关联,生成第二关联结果;
从所述第二关联结果中确定所述第一窗口对应的第一窗口句柄集合;
确定所述第一窗口句柄集合中各第一窗口句柄对应的第一窗口标题,得到所述第一窗口标题列表。
3.根据权利要求2所述的方法,其特征在于,从所述第二关联结果中确定所述第一窗口对应的第一窗口句柄集合,包括:
判断所述第二关联结果中的进程是否位于预设的监控进程列表;
若判断结果为是,将所述第二关联结果中的进程对应的窗口句柄添加到所述第一窗口句柄集合;
若判断结果为否,拒绝将所述第二关联结果中的进程对应的窗口句柄添加到所述第一窗口句柄集合。
4.根据权利要求2所述的方法,其特征在于,将所述窗口句柄集合中的各个所述窗口句柄与其所属的进程进行关联,包括:
获取各个所述窗口句柄所属的进程的进程标识符和进程名称;
根据所述进程标识符和所述进程名称,将各个所述窗口句柄与其所属的进程进行关联。
5.根据权利要求1所述的方法,其特征在于,将目标文件的名称和所述第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,包括:
确定所述目标文件的名称对应的第一字符串和各个所述第一窗口标题对应的第二字符串;
对所述第一字符串和所述第二字符串进行匹配,确定所述第一字符串和所述第二字符串的匹配度;
如果所述第一字符串和所述第二字符串的匹配度大于预设数值,确定所述目标文件的名称和所述第一窗口标题匹配成功。
6.根据权利要求2所述的方法,其特征在于,根据所述监控进程对发生变化的所述第一窗口进行监控,得到第二窗口对应的第二窗口标题列表,包括:
根据所述监控进程对发生变化的所述第一窗口进行枚举,得到目标窗口句柄集合,其中,所述目标窗口句柄集合包括多个目标窗口句柄;
将所述目标窗口句柄集合中的各个所述目标窗口句柄与其所属的进程进行关联,生成第三关联结果;
从所述第三关联结果中确定所述第二窗口对应的第二窗口句柄集合;
确定所述第二窗口句柄集合中各第二窗口句柄对应的第二窗口标题,得到所述第二窗口标题列表。
7.根据权利要求1所述的方法,其特征在于,根据所述第一窗口标题列表和所述第二窗口标题列表,确定与目标窗口关联的文件的状态,包括:
比对所述第一窗口标题列表和所述第二窗口标题列表,确定所述第二窗口标题列表中是否存在所述目标窗口对应的目标窗口标题;
若所述第二窗口标题列表中不存在所述目标窗口标题,确定与所述目标窗口关联的文件处于关闭状态。
8.一种确定文件状态的装置,其特征在于,包括:
第一监控模块,用于根据监控进程对操作系统中的窗口进行监控,得到第一窗口对应的第一窗口标题列表,其中,所述第一窗口为处于活动状态的窗口,所述第一窗口标题列表中包括多个第一窗口标题;
匹配模块,用于将目标文件的名称和所述第一窗口标题列表中的各个第一窗口标题进行匹配,得到第一关联结果,其中,所述目标文件为利用所述监控进程监控到处于打开状态的文件;
第二监控模块,用于当所述第一窗口发生变化时,根据所述监控进程对发生变化的所述第一窗口进行监控,得到第二窗口对应的第二窗口标题列表;
确定模块,用于根据所述第一窗口标题列表和所述第二窗口标题列表,确定与目标窗口关联的文件的状态,其中,所述目标窗口为所述第一关联结果中的第一窗口标题对应的窗口。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的确定文件状态的方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的确定文件状态的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211459409.0A CN115543152B (zh) | 2022-11-16 | 2022-11-16 | 确定文件状态的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211459409.0A CN115543152B (zh) | 2022-11-16 | 2022-11-16 | 确定文件状态的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115543152A true CN115543152A (zh) | 2022-12-30 |
CN115543152B CN115543152B (zh) | 2023-04-14 |
Family
ID=84720705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211459409.0A Active CN115543152B (zh) | 2022-11-16 | 2022-11-16 | 确定文件状态的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543152B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821071A (zh) * | 2023-08-29 | 2023-09-29 | 北京时代亿信科技股份有限公司 | 文件的溯源方法及装置、非易失性存储介质、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064704A (zh) * | 2012-12-19 | 2013-04-24 | 中国人民解放军第二炮兵装备研究院第四研究所 | 一种基于进程标识的软件窗口全生命周期管理方法 |
CN103530019A (zh) * | 2013-10-11 | 2014-01-22 | 广州华多网络科技有限公司 | 一种切换窗口的方法和装置 |
WO2017167285A1 (zh) * | 2016-03-31 | 2017-10-05 | 中兴通讯股份有限公司 | 一种远程桌面视频编码的方法及装置 |
CN110262963A (zh) * | 2019-05-21 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 基于句柄的功能测试方法、装置及终端设备 |
CN113495651A (zh) * | 2020-03-20 | 2021-10-12 | 北京京东振世信息技术有限公司 | 一种窗口控制方法和装置 |
-
2022
- 2022-11-16 CN CN202211459409.0A patent/CN115543152B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064704A (zh) * | 2012-12-19 | 2013-04-24 | 中国人民解放军第二炮兵装备研究院第四研究所 | 一种基于进程标识的软件窗口全生命周期管理方法 |
CN103530019A (zh) * | 2013-10-11 | 2014-01-22 | 广州华多网络科技有限公司 | 一种切换窗口的方法和装置 |
WO2017167285A1 (zh) * | 2016-03-31 | 2017-10-05 | 中兴通讯股份有限公司 | 一种远程桌面视频编码的方法及装置 |
CN110262963A (zh) * | 2019-05-21 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 基于句柄的功能测试方法、装置及终端设备 |
CN113495651A (zh) * | 2020-03-20 | 2021-10-12 | 北京京东振世信息技术有限公司 | 一种窗口控制方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821071A (zh) * | 2023-08-29 | 2023-09-29 | 北京时代亿信科技股份有限公司 | 文件的溯源方法及装置、非易失性存储介质、电子设备 |
CN116821071B (zh) * | 2023-08-29 | 2023-12-22 | 北京时代亿信科技股份有限公司 | 文件的溯源方法及装置、非易失性存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115543152B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445292B (zh) | 应用程序的分身管理方法及系统 | |
WO2021238775A1 (zh) | 显示方法、显示装置及电子设备 | |
CN104902547A (zh) | WiFi网络连接方法及装置 | |
CN104252284A (zh) | 文件显示方法及装置 | |
CN115543152B (zh) | 确定文件状态的方法及装置 | |
CN104168381A (zh) | 实现手机与智能影像设备连接的方法及系统 | |
CN114024717B (zh) | 应用程序流量的控制方法、装置、设备及存储介质 | |
CN111367562A (zh) | 数据采集方法、装置、存储介质及处理器 | |
CN109189295A (zh) | 显示控制方法、装置及终端设备 | |
CN108733403B (zh) | 一种bios设置方法和装置 | |
WO2017143911A1 (zh) | 应用程序的图标处理方法及装置 | |
CN113434844A (zh) | 智能场景的搭建方法、装置、存储介质、电子设备 | |
CN111813282A (zh) | 一种数据表单的展示方法和装置 | |
CN110647734A (zh) | 一种基于物联网操作系统的设备解锁方法及装置 | |
CN111857497B (zh) | 操作提示方法和电子设备 | |
CN112328197A (zh) | 多屏显示的方法、装置以及存储介质 | |
CN112016080A (zh) | 应用权限管理方法、装置及电子设备 | |
WO2023103901A1 (zh) | 应用管理方法、装置和电子设备 | |
CN110958147B (zh) | 一种物联网设备互联策略配置系统 | |
EP4068726A1 (en) | Method and device for preventing erroneous erasure of data, and storage medium and product | |
CN114125139A (zh) | 信息处理方法和电子设备 | |
CN105553748A (zh) | 网络设备配置方法和系统 | |
CN114189402A (zh) | 网络切换方法、装置、设备及存储介质 | |
CN112671556A (zh) | 路由器的配置方法和装置、存储介质、电子装置 | |
CN112698829A (zh) | 异常资源的定位方法和装置、存储介质及电子设备 |
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 |