一种基于隐藏窗口以检测进程实例个数的方法及相关装置制造方法及图纸

技术编号:20273332 阅读:18 留言:0更新日期:2019-02-02 03:57
本发明专利技术实施例公开了一种基于隐藏窗口以检测进程实例个数的方法,用于更加隐蔽的检测同一时间存在的进程实例的个数。本发明专利技术实施例方法包括:创建文本控件窗口并隐藏文本控件窗口;获取进程的进程唯一标识,并使用自定义的加密KEY对进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;将加密后的进程唯一标识写入文本控件窗口;创建检测线程;当需要检测当前进程实例的个数时,在检测线程中根据特定标识从系统中的所有窗口中确定文本控件窗口;获取文本控件窗口的文本,并根据加密KEY解密文本中的加密后的进程唯一标识,得到解密后的进程唯一标识,解密后的进程唯一标识的个数为当前进程实例的个数。

【技术实现步骤摘要】
一种基于隐藏窗口以检测进程实例个数的方法及相关装置
本专利技术涉及开发平台领域,尤其涉及一种基于隐藏窗口以检测进程实例个数的方法及相关装置。
技术介绍
对于一些PC客户端程序来说,一个系统只能创建一个该程序的实例,同时打开多个则存在作弊的可能,同时也会影响程序的正常功能,同时对性能影响也很大。现有检测方法大多通过创建一个互斥变量,来判断是否已经创建了该实例,或者判断进程名称是否存在多份一样的。然而此类检测方法为大家所熟知,同时已经很容易被绕过检测。因此需要一种更为隐瞒的方法。
技术实现思路
本专利技术实施例提供了一种基于隐藏窗口以检测进程实例个数的方法,用于更加隐蔽的检测同一时间存在的进程实例的个数。本专利技术实施例的第一方面提供了一种基于隐藏窗口以检测进程实例个数的方法,包括:创建文本控件窗口并隐藏所述文本控件窗口,所述文本控件窗口的窗口标识为特定标识,所述特定标识用于将所述文本控件窗口区别于系统中的其他窗口;获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;将所述加密后的进程唯一标识写入所述文本控件窗口;创建检测线程,所述检测线程用于检测当前进程实例的个数;当需要检测当前进程实例的个数时,在所述检测线程中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口;获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。在一种可能的实施例中,所述创建文本控件窗口并隐藏所述文本控件窗口包括:通过调用系统函数CreateWindowW创建所述文本控件窗口;隐藏所述文本控件窗口,以使得所述文本控件窗口为用户不可见的窗口。在一种可能的实施例中,所述获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识包括:通过调用系统函数GetCurrentProcessId()获取所述进程的进程唯一标识;将所述进程的进程唯一标识和所述加密KEY作为数据加密标准算法DES的加密接口Des.Encrypt的输入,以输出所述加密后的进程唯一标识。在一种可能的实施例中,所述方法还包括:通过系统函数SetWindowContextHelpld设置所述文本控件窗口的帮助文本,所述帮助文本的文本标识为所述特定标识。在一种可能的实施例中,所述在所述线程函数中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口包括:通过调用系统函数GetClassName获取系统中的所有窗口的窗口标识;并将窗口标识为所述特定标识的窗口确定为目标文本控件窗口;通过调用系统函数IsWindowsVisible判断所述目标文本空间窗口是否可见;若不可见,通过调用系统函数GetWindowContextHelpId获取所述目标文本空间窗口的帮助文本;若所述目标文本空间窗口的帮助文本为所述特定标识,则确定所述目标文本空间窗口为所述文本空间窗口。在一种可能的实施例中,所述获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识包括:通过系统函数SendMessageW获取所述文本空间窗口的文本,所述文本包括所述加密后的进程唯一标识;将所述加密后的进程唯一标识和所述加密KEY作为DES算法的解密接口Des.Decrypt的输入,以输出所述解密后的进程唯一标识。本专利技术实施例的第二方面提供了一种检测装置,包括:创建单元,用于创建文本控件窗口并隐藏所述文本控件窗口,所述文本控件窗口的窗口标识为特定标识,所述特定标识用于将所述文本控件窗口区别于系统中的其他窗口;获取单元,用于获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;写入单元,用于将所述加密后的进程唯一标识写入所述文本控件窗口;所述创建单元还用于创建检测线程,所述检测线程用于检测当前进程实例的个数;确定单元,用于当需要检测当前进程实例的个数时,在所述检测线程中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口;所述获取单元还用于获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。本专利技术第三方面提供了一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述任意一项所述的方法的步骤。本专利技术第四方面提供了一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于:所述计算机管理类程序被处理器执行时实现如上述任意一项所述的方法的步骤。从以上技术方案可以看出,本专利技术实施例具有以下优点:创建文本控件窗口并隐藏所述文本控件窗口,所述文本控件窗口的窗口标识为特定标识,所述特定标识用于将所述文本控件窗口区别于系统中的其他窗口;获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;将所述加密后的进程唯一标识写入所述文本控件窗口;创建检测线程,所述检测线程用于检测当前进程实例的个数;当需要检测当前进程实例的个数时,在所述检测线程中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口;获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。本专利技术实施例中,能够更加隐蔽的检测进程实例的个数,并且能检测到同一时间存在的进程实例个数。附图说明图1为本专利技术实施例提供的一种可能的基于隐藏窗口以检测进程实例个数的方法的流程图;图2为本专利技术实施例提供的一种可能的检测装置的结构示意图;图3为本专利技术实施例提供的一种可能的电子设备的硬件结构示意图;图4为本专利技术实施例提供的一种可能的计算机可读存储介质的硬件结构示意图。具体实施方式本专利技术实施例提供了一种基于隐藏窗口以检测进程实例个数的方法,用于更加隐蔽的检测同一时间存在的进程实例的个数。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。请参阅图1,为本专利技术实施例提供的一种获取数据的方法的流程图,具体包括:对于一个PC客本文档来自技高网...

【技术保护点】
1.一种基于隐藏窗口以检测进程实例个数的方法,其特征在于,包括:创建文本控件窗口并隐藏所述文本控件窗口,所述文本控件窗口的窗口标识为特定标识,所述特定标识用于将所述文本控件窗口区别于系统中的其他窗口;获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;将所述加密后的进程唯一标识写入所述文本控件窗口;创建检测线程,所述检测线程用于检测当前进程实例的个数;当需要检测当前进程实例的个数时,在所述检测线程中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口;获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。

【技术特征摘要】
1.一种基于隐藏窗口以检测进程实例个数的方法,其特征在于,包括:创建文本控件窗口并隐藏所述文本控件窗口,所述文本控件窗口的窗口标识为特定标识,所述特定标识用于将所述文本控件窗口区别于系统中的其他窗口;获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识;将所述加密后的进程唯一标识写入所述文本控件窗口;创建检测线程,所述检测线程用于检测当前进程实例的个数;当需要检测当前进程实例的个数时,在所述检测线程中根据所述特定标识从系统中的所有窗口中确定所述文本控件窗口;获取所述文本控件窗口的文本,并根据所述加密KEY解密所述文本中的所述加密后的进程唯一标识,得到解密后的进程唯一标识,所述解密后的进程唯一标识的个数为所述当前进程实例的个数。2.根据权利要求1所述的方法,其特征在于,所述创建文本控件窗口并隐藏所述文本控件窗口包括:通过调用系统函数CreateWindowW创建所述文本控件窗口;隐藏所述文本控件窗口,以使得所述文本控件窗口为用户不可见的窗口。3.根据权利要求1所述的方法,其特征在于,所述获取进程的进程唯一标识,并使用自定义的加密KEY对所述进程的进程唯一标识进行加密,以得到加密后的进程唯一标识包括:通过调用系统函数GetCurrentProcessId()获取所述进程的进程唯一标识;将所述进程的进程唯一标识和所述加密KEY作为数据加密标准算法DES的加密接口Des.Encrypt的输入,以输出所述加密后的进程唯一标识。4.根据权利要求1所述的方法,其特征在于,所述创建检测线程包括:通过调用系统函数CreatTread创建所述检测线程,所述系统函数CreatTread的输入包括所述检测线程的标识信息,所述检测线程的执行函数为系统函数TreadFunc,所述系统函数TreadFunc用于检测当前进程实例的个数。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过系统函数SetWindowContextHelpld设置所述文本控件窗口的帮助文本,所述帮助文本的文本标识为所述特定标识。6.根据权利要求5所述的方法,其特征在于,所述在所述线程函数中根据...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1