CN105739989A - 一种设置系统搜索框的方法、装置及电子设备 - Google Patents
一种设置系统搜索框的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105739989A CN105739989A CN201610085626.6A CN201610085626A CN105739989A CN 105739989 A CN105739989 A CN 105739989A CN 201610085626 A CN201610085626 A CN 201610085626A CN 105739989 A CN105739989 A CN 105739989A
- Authority
- CN
- China
- Prior art keywords
- search
- menu button
- start menu
- operating system
- message
- 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
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/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明的实施例公开一种设置系统搜索框的方法、装置及电子设备。方法包括:检测操作系统是否存在开始菜单按钮窗口,如果存在,获取开始菜单按钮窗口的句柄;调用子类化函数子类化开始菜单按钮窗口,以在开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使搜索消息处理函数处理开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出开始菜单按钮多级目录下的系统搜索框;如果操作系统不存在开始菜单按钮窗口,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的开始菜单按钮窗口中的消息处理函数在接收到预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。应用本发明,可以有效提升搜索效率。
Description
技术领域
本发明涉及计算机信息搜索技术,尤其涉及一种设置系统搜索框的方法、装置及电子设备。
背景技术
随着计算机通信以及互联网技术的不断发展,电子设备的应用越来越普遍,例如,智能移动电话、个人数字助理、掌上电脑、笔记本电脑得到了越来越广泛的应用。为了满足用户多样化以及便利化的需求,需要要求电子设备提供应用业务的流程简单、明了,便于用户操作。以Windows操作系统为例,Windows操作系统中的开始菜单作为Windows操作系统中的一核心组件,提供用户与电子设备交互的入口,通过多级目录的方式设置和展示应用业务快捷方式以及文件信息,其中,系统搜索框为开始菜单的一主要应用业务。对于使用Windows操作系统的用户来说,大多数用户已习惯通过开始菜单多级目录下的系统搜索框来查找常用以及最近使用过的应用业务程序或文档(文件),即用户在使用Windows操作系统过程中,当需要搜索计算机(电子设备)中存储的内容,会利用开始菜单调用多级目录下的系统搜索框,然后,在弹出的系统搜索框中输入待要搜索的关键字词,从而完成搜索。
但现有设置系统搜索框的方法,由于Windows操作系统各个版本的差异,开始菜单中的系统搜索框的展示入口和操作流程各不相同,使得用户对各版本Windows操作系统的系统搜索框的操作容易混淆,导致搜索操作与当前版本Windows操作系统的系统搜索框操作不匹配,从而可能需要多次操作才能调出系统搜索框,使得搜索所需的时间较长,搜索效率不高,搜索操作成本较高,影响了用户的搜索体验。例如,对于xp用户,系统搜索框设置为需要用户点击开始菜单图标,再点击搜索按钮,从而触发弹出系统搜索框;对于win8用户,win8版本的Windows操作系统取消了开始菜单,系统搜索框设置为用户操作预先设置的全局快捷键,触发弹出系统搜索框;对于win8.1用户,系统搜索框设置为通过用户点击开始菜单,弹出metro界面,点击metro界面的下拉按钮,跳转到内置有系统搜索框的应用栏;对于win10用户,系统搜索框设置为点击开始菜单,即可触发弹出系统搜索框,也可选择将系统搜索框嵌入任务栏中。这样,用户在调用不同操作系统版本的系统搜索框时,需要熟知各版本的搜索操作流程,尤其对于计算机操作水平不高的用户来说,不仅记忆难度较大,还容易造成记忆混乱,将对一版本的搜索操作流程记忆为另一版本的搜索操作流程,使得调出系统搜索框失败,且对于每一搜索流程,操作步骤较多,也增加了用户搜索所需的时间,导致用户搜索体验不高。
发明内容
有鉴于此,本发明实施例提供一种设置系统搜索框的方法、装置及电子设备,降低搜索所需的时间、提升搜索效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种设置系统搜索框的方法,包括:
检测操作系统是否存在开始菜单按钮窗口;
如果存在,获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
如果不存在,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
可选的,所述检测操作系统是否存在开始菜单按钮窗口包括:
在操作系统中注入预先设置的搜索处理服务程序;
在操作系统启动后,触发所述搜索处理服务程序启动;
所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中,并将所述搜索处理服务程序的启动类别设置为自动启动。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过命令行工具的开启命令启动所述搜索处理服务程序。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过控制面板中管理工具下的服务项启动所述搜索处理服务程序。
可选的,所述所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口包括:
所述搜索处理服务程序检测操作系统的任务栏,查询所述任务栏中是否存在所述开始菜单按钮对应的文字或图标。
可选的,所述方法还包括:
在子类化的所述开始菜单按钮窗口中接收到预先设置的用户操作消息,弹出所述开始菜单按钮多级目录下的系统搜索框;或,
在创建的开始菜单按钮窗口接收到预先设置的用户操作消息,弹出预先设置的系统搜索框。
可选的,所述方法还包括:
接收用户在所述系统搜索框中输入的搜索词,搜索本地存储器,获取第一搜索结果;
利用所述搜索词搜索网络,获取第二搜索结果;
依次计算各所述第二搜索结果与所述第一搜索结果的相似度,按照相似度从高至低对第二搜索结果排序;
将所述第一搜索结果进行显示,并显示排序前N位的第二搜索结果。
可选的,所述方法还包括:
如果操作系统不存在开始菜单按钮窗口,设置循环检测所述预先设置的用户操作消息对应的用户操作位置的定时器,如果检测得到的用户操作位置位于任务栏的预定位置,触发弹出预先设置的系统搜索框。
第二方面,本发明实施例提供一种设置系统搜索框的装置,包括:检测模块、子类化模块以及窗口创建模块,其中,
检测模块,用于检测操作系统是否存在开始菜单按钮窗口,如果存在,通知子类化模块,如果不存在,通知窗口创建模块;
子类化模块,用于获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
窗口创建模块,用于在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
可选的,所述检测模块包括:注入单元、启动单元、检测单元以及通知单元,其中,
注入单元,用于在操作系统中注入预先设置的搜索处理服务程序;
启动单元,用于在操作系统启动后,触发所述搜索处理服务程序启动;
检测单元,用于使所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口;
通知单元,如果操作系统是否存在开始菜单按钮窗口,通知子类化模块,如果不存在,通知窗口创建模块。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中,并将所述搜索处理服务程序的启动类别设置为自动启动。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过命令行工具的开启命令启动所述搜索处理服务程序。
可选的,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过控制面板中管理工具下的服务项启动所述搜索处理服务程序。
可选的,所述所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口包括:
所述搜索处理服务程序检测操作系统的任务栏,查询所述任务栏中是否存在所述开始菜单按钮对应的文字或图标。
可选的,所述装置还包括:
位置检测触发模块,如果操作系统不存在开始菜单按钮窗口,设置循环检测所述预先设置的用户操作消息对应的用户操作位置的定时器,如果检测得到的用户操作位置位于任务栏的预定位置,触发弹出预先设置的系统搜索框。
可选的,所述装置还包括:
子类化消息处理模块,用于在子类化的所述开始菜单按钮窗口中接收到预先设置的用户操作消息,弹出所述开始菜单按钮多级目录下的系统搜索框;或,
窗口消息处理模块,用于在创建的开始菜单按钮窗口接收到预先设置的用户操作消息,弹出预先设置的系统搜索框。
可选的,所述装置还包括:
搜索模块,用于接收用户在所述系统搜索框中输入的搜索词,搜索本地存储器,获取第一搜索结果;利用所述搜索词搜索网络,获取第二搜索结果;依次计算各所述第二搜索结果与所述第一搜索结果的相似度,按照相似度从高至低对第二搜索结果排序;将所述第一搜索结果进行显示,并显示排序前N位的第二搜索结果。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的设置系统搜索框的方法。
本发明实施例提供的设置系统搜索框的方法、装置及电子设备,通过检测操作系统是否存在开始菜单按钮窗口,如果存在,获取所述开始菜单按钮窗口的句柄;调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;如果操作系统不存在开始菜单按钮窗口,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。这样,通过统一各版本的操作系统的搜索入口,并设置开始菜单按钮窗口中以鼠标悬停操作进行触发的系统搜索框,从而当用户鼠标在开始菜单按钮窗口对应的图标悬停时,弹出系统搜索框以输入内容开始搜索,减小了用户使用搜索功能的操作成本,有效提升了搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例设置系统搜索框的方法流程示意图;
图2为本发明实施例检测操作系统是否存在开始菜单按钮窗口的流程示意图;
图3为本发明实施例设置系统搜索框的装置结构示意图;
图4为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例设置系统搜索框的方法流程示意图。参见图1,该方法包括:
步骤11,检测操作系统是否存在开始菜单按钮窗口;
本步骤中,一些版本的操作系统中,设置有开始菜单按钮窗口,另一些版本的操作系统中,未设置有开始菜单按钮窗口,因而,需要针对上述情况分别进行处理。
作为一可选实施例,图2为本发明实施例检测操作系统是否存在开始菜单按钮窗口的流程示意图。参见图2,该流程包括:
步骤21,在操作系统中注入预先设置的搜索处理服务程序;
本步骤中,作为一可选实施例,在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器(SCM,ServiceControlManager)中,并将所述搜索处理服务程序的启动类别设置为自动启动。
本发明实施例中,作为另一可选实施例,在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过命令行工具的开启命令启动所述搜索处理服务程序。
本步骤中,作为一可选实施例,开启命令为NETSTART命令。
作为再一可选实施例,在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过控制面板中管理工具下的服务项启动所述搜索处理服务程序。
本发明实施例中,由于设置系统搜索框的流程只需要执行一次,在设置好系统搜索框后,后续应用中就可以直接应用设置的系统搜索框进行搜索,因而,可以通过手动方式启动所述搜索处理服务程序;或在搜索处理服务程序启动并设置系统搜索框成功后,在服务控制管理器中,关闭所述搜索处理服务程序的自动启动类别设置。
本发明实施例中,搜索处理服务程序为依据本发明实施例设置系统搜索框的方法进行代码段编辑得到的脚本文件。
本发明实施例中,设置的搜索处理服务程序为一Windows服务程序,Windows服务程序是MicrosoftWindows服务中的一种特殊应用程序。Windows服务程序可以在计算机(电子设备)启动时自动启动,可以暂停和重新启动而且不需要任何用户界面,在启动后,执行相应设置在程序中的的操作,不会影响在同一计算机上工作的其他程序。
步骤22,在操作系统启动后,触发所述搜索处理服务程序启动;
本步骤中,在操作系统启动后,为所述搜索处理服务程序分配一进程,启动所述搜索处理服务程序。
如前所述,启动可以是自动启动,也可以是手动启动。
步骤23,所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口。
本步骤中,作为一可选实施例,所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口包括:
所述搜索处理服务程序检测操作系统的任务栏,查询所述任务栏中是否存在所述开始菜单按钮对应的文字或图标。
步骤12,如果存在,获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
本步骤中,句柄是操作系统内部数据结构的引用,当用户需要操作一窗口时,操作系统返回用户该窗口的句柄,使得用户通过设置的应用程序可以对该窗口进行操作。
本发明实施例中,作为一可选实施例,子类化函数为SetWindowLong函数。
对于Windows操作系统,一个Windows窗口是屏幕上的一个矩形区域,通过句柄的方式接收用户的输入并以文字或图形的格式显示对输入进行处理的输出内容。其中,Windows窗口包括但不限于:开始菜单按钮窗口、程序按钮窗口、设置按钮窗口等,Windows窗口以消息的形式接收用户的输入,也通过消息的形式与其它窗口通信。
Windows窗口中的消息是一个报告事件发生的通知,例如,当用户鼠标在Windows窗口上移动时,Windows窗口会收到鼠标移动WM_MOUSEMOVE消息,当鼠标离开Windows窗口时,Windows窗口会收到鼠标离开WM_MOUSELEAVE消息。作为另一可选实施例,消息还包括:鼠标悬停WM_MOUSEHOVER消息、鼠标抬起WM_LBUTTONUP消息、鼠标按下WM_LBUTTONDOWN消息等。
每一个Windows窗口都有一用来处理消息的消息处理函数,消息处理函数负责处理针对该Windows窗口操作的消息,其它未针对该Windows窗口操作的消息,即该Windows窗口不需要处理的消息,可以通过Windows操作系统应用程序接口(API,ApplicationProgrammingInterface)函数CallWindowProc传递给默认处理函数。例如,对于现有的开始菜单按钮窗口,消息处理函数处理鼠标抬起WM_LBUTTONUP消息以及鼠标按下WM_LBUTTONDOWN消息,即如果在预先设置的时间内依次接收到鼠标按下WM_LBUTTONDOWN消息以及鼠标抬起WM_LBUTTONUP消息(点击操作),则打开开始菜单界面,即呈现包含程序、文档、设置、搜索、帮助和支持、运行、注销、关闭计算机等应用业务的开始菜单界面;而如果接收到鼠标移动WM_MOUSEMOVE消息、鼠标离开WM_MOUSELEAVE消息、鼠标悬停WM_MOUSEHOVER消息,则该消息处理函数不作处理,例如,对该些鼠标消息,不进行响应,通过Windows操作系统API函数CallWindowProc传递给默认处理函数进行处理。
本发明实施例中,将一个窗口子类化就是调用Windows操作系统API函数中的子类化函数,为该窗口设计一新的消息处理函数,以扩展窗口的处理功能,其中,子类化函数是一WindowsAPI函数,该子类化函数用来改变指定窗口的属性。
本发明实施例中,在开始菜单按钮窗口注入的搜索消息处理函数与开始菜单按钮窗口中原有的消息处理函数不同即可。作为一可选实施例,预先设置的用户操作消息为鼠标悬停WM_MOUSEHOVER消息,即搜索消息处理函数仅对该消息进行响应。当然,实际应用中,也可以为与点击操作的鼠标按下WM_LBUTTONDOWN消息以及鼠标抬起WM_LBUTTONUP消息不同的消息即可,本发明实施例对此不作限定。
本发明实施例中,通过在开始菜单按钮窗口中新增一消息处理函数,用于处理针对该Windows窗口扩展操作的消息,例如,用于处理点击操作外的预定操作,从而对所述开始菜单按钮窗口进行子类化。例如,新增的消息处理函数用于处理鼠标悬停WM_MOUSEHOVER消息,从而在开始菜单按钮窗口中接收到鼠标悬停WM_MOUSEHOVER消息后,触发进入预先设置的鼠标悬停操作映射的系统搜索框界面,而不是将该鼠标悬停WM_MOUSEHOVER消息通过Windows操作系统API函数CallWindowProc传递给默认处理函数进行处理。这样,通过本发明实施例的设置系统搜索框的方法,当用户鼠标在开始菜单图标悬停时,弹出系统搜索框并获取输入焦点,用户可立即输入内容开始搜索,统一了搜索功能入口,从而减小使用搜索功能的操作成本,提升了搜索效率。
步骤13,如果不存在,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
本步骤中,对于win8操作系统没有开始菜单按钮窗口的特殊情况,本发明实施例中,可创建一个类似开始菜单的按钮窗口(开始菜单按钮窗口),由于该窗口是依据本发明实施例方法直接创建的,因而,可以设置创建的窗口中的消息处理函数直接处理鼠标悬停消息,而对于其他非鼠标悬停消息的消息,通过Windows操作系统API函数CallWindowProc传递给默认处理函数进行处理,从而在接收到鼠标悬停消息后,直接展示预先设置的系统搜索框,而无需再执行其他操作流程。
作为一可选实施例,如果任务栏在电子设备桌面的底部,所述预定位置在任务栏的最左侧。作为另一可选实施例,如果任务栏在电子设备桌面的顶部,所述预定位置在任务栏的最右侧。作为再一可选实施例,如果任务栏在电子设备桌面的左侧,所述预定位置在任务栏的顶部。作为再一可选实施例,如果任务栏在电子设备桌面的右侧,所述预定位置在任务栏的底部。
作为一可选实施例,该方法还可以包括:
如果操作系统不存在开始菜单按钮窗口,设置循环检测所述预先设置的用户操作消息对应的用户操作位置的定时器,如果检测得到的用户操作位置位于任务栏的预定位置,触发弹出预先设置的系统搜索框。
本步骤中,通过设置定时器,用以依据预先设置的检测周期循环检测用户操作消息对应的用户鼠标(操作)位置,是否位于任务栏的预定位置,例如,是否位于任务栏左侧指定区域,如果满足条件,即用户操作消息为鼠标悬停消息,且鼠标悬停的位置位于任务栏左侧指定区域,则可弹出预先设置的系统搜索框。
本发明实施例中,作为一可选实施例,当任务栏位于屏幕其他方向时,任务栏的预定位置的判断区域也相应发生变化。
本发明实施例中,设置的系统搜索框可以参照开始菜单按钮窗口多级目录下的系统搜索框,在此不再赘述。
作为一可选实施例,该方法还可以包括:
在子类化的所述开始菜单按钮窗口中接收到预先设置的用户操作消息,弹出所述开始菜单按钮多级目录下的系统搜索框;或,
在创建的开始菜单按钮窗口接收到预先设置的用户操作消息,弹出预先设置的系统搜索框;或,
所述定时器检测到预先设置的用户操作消息对应的用户操作位置位于任务栏的预定位置,弹出预先设置的系统搜索框。
本步骤中,以用户操作消息为鼠标悬停消息为例,当用户鼠标悬停于开始菜单按钮窗口上方时,开始菜单按钮窗口收到鼠标悬停消息,即可展示系统搜索框入口。
作为一可选实施例,该方法还可以包括:
接收用户在所述系统搜索框中输入的搜索词,搜索本地存储器,获取第一搜索结果;
利用所述搜索词搜索网络,获取第二搜索结果;
依次计算各所述第二搜索结果与所述第一搜索结果的相似度,按照相似度从高至低对第二搜索结果排序;
将所述第一搜索结果进行显示,并显示排序前N位的第二搜索结果。
本发明实施例中,作为一可选实施例,搜索词包括但不限于:汉语拼音、汉字、英文单词、英文简写等;作为另一可选实施例,搜索词还可以为语音搜索词,即对用户输入的语音进行识别后得到的汉语拼音、汉字、英文单词、英文简写等。
由上述可见,本发明实施例的设置系统搜索框的方法,通过检测操作系统是否存在开始菜单按钮窗口,如果存在,获取所述开始菜单按钮窗口的句柄;调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;如果操作系统不存在开始菜单按钮窗口,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。这样,对于各版本的Windows操作系统,统一各版本的操作系统的搜索入口,并设置开始菜单按钮窗口中以鼠标悬停操作进行触发的系统搜索框,从而当用户鼠标在开始菜单按钮窗口对应的图标悬停时,弹出系统搜索框以输入内容开始搜索,减小了用户使用搜索功能的操作成本,有效提升了搜索效率;进一步地,无需用户对各版本Windows操作系统的系统搜索框的操作流程进行记忆,避免搜索操作与当前版本Windows操作系统的系统搜索框操作不匹配的情形出现,降低搜索所需的时间,也有效提升了搜索效率,从而增强了用户的搜索体验。
图3为本发明实施例设置系统搜索框的装置结构示意图。参见图3,该装置包括:检测模块31、子类化模块32以及窗口创建模块33,其中,
检测模块31,用于检测操作系统是否存在开始菜单按钮窗口,如果存在,通知子类化模块32,如果不存在,通知窗口创建模块33;
本发明实施例中,作为一可选实施例,检测模块31包括:注入单元、启动单元、检测单元以及通知单元(图中未示出),其中,
注入单元,用于在操作系统中注入预先设置的搜索处理服务程序;
本发明实施例中,搜索处理服务程序为依据本发明实施例设置系统搜索框的方法进行代码段编辑得到的脚本文件。
本发明实施例中,作为一可选实施例,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中,并将所述搜索处理服务程序的启动类别设置为自动启动。
作为另一可选实施例,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过命令行工具的开启命令启动所述搜索处理服务程序。
作为再一可选实施例,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过控制面板中管理工具下的服务项启动所述搜索处理服务程序。
启动单元,用于在操作系统启动后,触发所述搜索处理服务程序启动;
检测单元,用于使所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口;
本发明实施例中,作为一可选实施例,所述所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口包括:
所述搜索处理服务程序检测操作系统的任务栏,查询所述任务栏中是否存在所述开始菜单按钮对应的文字或图标。
通知单元,如果操作系统是否存在开始菜单按钮窗口,通知子类化模块,如果不存在,通知窗口创建模块。
子类化模块32,用于获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
本发明实施例中,对于Windows操作系统,一个Windows窗口是屏幕上的一个矩形区域,通过句柄的方式接收用户的输入并以文字或图形的格式显示对输入进行处理的输出内容。其中,Windows窗口包括但不限于:开始菜单按钮窗口、程序按钮窗口、设置按钮窗口等,Windows窗口以消息的形式接收用户的输入,也通过消息的形式与其它窗口通信。
作为一可选实施例,消息包括但不限于:鼠标移动WM_MOUSEMOVE消息、鼠标离开WM_MOUSELEAVE消息、鼠标悬停WM_MOUSEHOVER消息、鼠标抬起WM_LBUTTONUP消息、鼠标按下WM_LBUTTONDOWN消息。
每一个Windows窗口都有一用来处理消息的消息处理函数,消息处理函数负责处理针对该Windows窗口操作的消息,其它未针对该Windows窗口操作的消息,即该Windows窗口不需要处理的消息,可以通过Windows操作系统应用程序接口(API,ApplicationProgrammingInterface)函数CallWindowProc传递给默认处理函数。
本发明实施例中,将一个窗口子类化就是调用Windows操作系统API函数中的子类化函数,为该窗口设计一新的消息处理函数,以扩展窗口的处理功能,其中,子类化函数是一WindowsAPI函数,该子类化函数用来改变指定窗口的属性。
作为一可选实施例,预先设置的用户操作消息为鼠标悬停WM_MOUSEHOVER消息。
窗口创建模块33,用于在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
本发明实施例中,作为一可选实施例,预先设置的用户操作消息为鼠标悬停WM_MOUSEHOVER消息,设置创建的窗口中的消息处理函数直接处理鼠标悬停消息,而对于其他非鼠标悬停消息的消息,通过Windows操作系统API函数CallWindowProc传递给默认处理函数进行处理。
作为一可选实施例,如果任务栏在电子设备桌面的底部,所述预定位置在任务栏的最左侧。作为另一可选实施例,如果任务栏在电子设备桌面的顶部,所述预定位置在任务栏的最右侧。作为再一可选实施例,如果任务栏在电子设备桌面的左侧,所述预定位置在任务栏的顶部。作为再一可选实施例,如果任务栏在电子设备桌面的右侧,所述预定位置在任务栏的底部。
本发明实施例中,作为一可选实施例,该装置还包括:
位置检测触发模块34,如果操作系统不存在开始菜单按钮窗口,设置循环检测所述预先设置的用户操作消息对应的用户操作位置的定时器,如果检测得到的用户操作位置位于任务栏的预定位置,触发弹出预先设置的系统搜索框。
作为另一可选实施例,该装置还包括:
子类化消息处理模块35,用于在子类化的所述开始菜单按钮窗口中接收到预先设置的用户操作消息,弹出所述开始菜单按钮多级目录下的系统搜索框;或,
窗口消息处理模块36,用于在创建的开始菜单按钮窗口接收到预先设置的用户操作消息,弹出预先设置的系统搜索框;或,
位置检测模块37,用于在所述定时器检测到预先设置的用户操作消息对应的用户操作位置位于任务栏的预定位置后,弹出预先设置的系统搜索框。
作为再一可选实施例,该装置还包括:
搜索模块38,用于接收用户在所述系统搜索框中输入的搜索词,搜索本地存储器,获取第一搜索结果;利用所述搜索词搜索网络,获取第二搜索结果;依次计算各所述第二搜索结果与所述第一搜索结果的相似度,按照相似度从高至低对第二搜索结果排序;将所述第一搜索结果进行显示,并显示排序前N位的第二搜索结果。
本发明实施例中,作为一可选实施例,搜索词包括但不限于:汉语拼音、汉字、英文单词、英文简写等;作为另一可选实施例,搜索词还可以为语音搜索词,即对用户输入的语音进行识别后得到的汉语拼音、汉字、英文单词、英文简写等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图4为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的设置系统搜索框的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种设置系统搜索框的方法,其特征在于,该方法包括:
检测操作系统是否存在开始菜单按钮窗口;
如果存在,获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
如果不存在,在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
2.根据权利要求1所述的方法,其特征在于,所述检测操作系统是否存在开始菜单按钮窗口包括:
在操作系统中注入预先设置的搜索处理服务程序;
在操作系统启动后,触发所述搜索处理服务程序启动;
所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口。
3.根据权利要求2所述的方法,其特征在于,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中,并将所述搜索处理服务程序的启动类别设置为自动启动。
4.根据权利要求2所述的方法,其特征在于,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过命令行工具的开启命令启动所述搜索处理服务程序。
5.根据权利要求2所述的方法,其特征在于,所述在操作系统中注入预先设置的搜索处理服务程序包括:
将所述搜索处理服务程序注册到Windows操作系统中的服务控制管理器中;
通过控制面板中管理工具下的服务项启动所述搜索处理服务程序。
6.根据权利要求2所述的方法,其特征在于,所述搜索处理服务程序检测操作系统是否存在开始菜单按钮窗口包括:
所述搜索处理服务程序检测操作系统的任务栏,查询所述任务栏中是否存在所述开始菜单按钮对应的文字或图标。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在子类化的所述开始菜单按钮窗口中接收到预先设置的用户操作消息,弹出所述开始菜单按钮多级目录下的系统搜索框;或,
在创建的开始菜单按钮窗口接收到预先设置的用户操作消息,弹出预先设置的系统搜索框。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收用户在所述系统搜索框中输入的搜索词,搜索本地存储器,获取第一搜索结果;
利用所述搜索词搜索网络,获取第二搜索结果;
依次计算各所述第二搜索结果与所述第一搜索结果的相似度,按照相似度从高至低对第二搜索结果排序;
将所述第一搜索结果进行显示,并显示排序前N位的第二搜索结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果操作系统不存在开始菜单按钮窗口,设置循环检测所述预先设置的用户操作消息对应的用户操作位置的定时器,如果检测得到的用户操作位置位于任务栏的预定位置,触发弹出预先设置的系统搜索框。
10.一种设置系统搜索框的装置,其特征在于,该装置包括:检测模块、子类化模块以及窗口创建模块,其中,
检测模块,用于检测操作系统是否存在开始菜单按钮窗口,如果存在,通知子类化模块,如果不存在,通知窗口创建模块;
子类化模块,用于获取所述开始菜单按钮窗口的句柄,调用子类化函数子类化所述开始菜单按钮窗口,以在所述开始菜单按钮窗口中注入预先设置的搜索消息处理函数,以使所述搜索消息处理函数处理所述开始菜单按钮窗口中接收到的预先设置的用户操作消息后,触发弹出所述开始菜单按钮多级目录下的系统搜索框;
窗口创建模块,用于在任务栏的预定位置创建开始菜单按钮窗口,以使创建的所述开始菜单按钮窗口中的消息处理函数在接收到所述预先设置的用户操作消息后,触发弹出预先设置的系统搜索框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610085626.6A CN105739989B (zh) | 2016-02-15 | 2016-02-15 | 一种设置系统搜索框的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610085626.6A CN105739989B (zh) | 2016-02-15 | 2016-02-15 | 一种设置系统搜索框的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105739989A true CN105739989A (zh) | 2016-07-06 |
CN105739989B CN105739989B (zh) | 2019-03-22 |
Family
ID=56241925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610085626.6A Active CN105739989B (zh) | 2016-02-15 | 2016-02-15 | 一种设置系统搜索框的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105739989B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218499A1 (en) * | 2005-03-22 | 2006-09-28 | Microsoft Corporation | Determining and displaying a list of most commonly used items |
CN101147115A (zh) * | 2005-03-22 | 2008-03-19 | 微软公司 | 操作系统程序运行菜单搜索 |
US20090222767A1 (en) * | 2005-03-22 | 2009-09-03 | Microsoft Corporation | Operating system launch menu program listing |
US20110161812A1 (en) * | 2006-08-04 | 2011-06-30 | Mohit Srivastava | Searchable Menu system via Keyword Search |
CN103365530A (zh) * | 2012-04-09 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种提供快速启动入口的方法及装置 |
US20130298049A1 (en) * | 2007-12-10 | 2013-11-07 | Microsoft Corporation | Switching search providers within an application search box |
CN103902727A (zh) * | 2014-04-11 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 网络搜索方法和装置 |
CN104572853A (zh) * | 2014-12-17 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
-
2016
- 2016-02-15 CN CN201610085626.6A patent/CN105739989B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218499A1 (en) * | 2005-03-22 | 2006-09-28 | Microsoft Corporation | Determining and displaying a list of most commonly used items |
CN101147115A (zh) * | 2005-03-22 | 2008-03-19 | 微软公司 | 操作系统程序运行菜单搜索 |
US20090222767A1 (en) * | 2005-03-22 | 2009-09-03 | Microsoft Corporation | Operating system launch menu program listing |
US20110161812A1 (en) * | 2006-08-04 | 2011-06-30 | Mohit Srivastava | Searchable Menu system via Keyword Search |
US20130298049A1 (en) * | 2007-12-10 | 2013-11-07 | Microsoft Corporation | Switching search providers within an application search box |
CN103365530A (zh) * | 2012-04-09 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种提供快速启动入口的方法及装置 |
CN103902727A (zh) * | 2014-04-11 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 网络搜索方法和装置 |
CN104572853A (zh) * | 2014-12-17 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105739989B (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201177B (zh) | 一种操作执行方法及移动终端 | |
US20150205489A1 (en) | Browser interface for installed applications | |
CN102857629A (zh) | 一种手机桌面搜索框的呼出方法 | |
CN103809871A (zh) | 应用程序图标的处理方法和移动终端 | |
CN104205010A (zh) | 语音启用的触摸屏用户界面 | |
CN112148178A (zh) | 应用切换方法、装置、电子设备及可读存储介质 | |
CN106648746B (zh) | 一种应用程序的执行方法和装置 | |
CN104267922A (zh) | 一种信息处理方法及电子设备 | |
CN105824499A (zh) | 一种窗口的控制方法及移动终端 | |
CN112947829B (zh) | 误操作处理方法、装置、电子设备及可读存储介质 | |
CN111694490B (zh) | 设置方法、装置及电子设备 | |
CN112286485A (zh) | 通过语音控制应用的方法、装置、电子设备与存储介质 | |
CN107220377B (zh) | 搜索方法、电子设备及计算机存储介质 | |
CN113010248A (zh) | 操作引导方法、装置和电子设备 | |
CN106033355B (zh) | 一种语言设置方法及移动终端 | |
CN112882619B (zh) | 应用界面的管理方法、装置、电子设备及介质 | |
Sinha et al. | Capturing user tests in a multimodal, multidevice informal prototyping tool | |
CN107943598A (zh) | 一种应用切换方法、电子设备及可读存储介质 | |
CN107357481B (zh) | 消息展示方法及消息展示装置 | |
CN112306450A (zh) | 信息处理方法、装置 | |
CN105824864A (zh) | 一种快捷通信的方法及终端 | |
CN111641551A (zh) | 语音播放方法、语音播放装置和电子设备 | |
CN110865755A (zh) | 终端的语音控制方法、装置、存储介质及终端 | |
CN107479725B (zh) | 一种字符输入方法、装置、虚拟键盘、电子设备及存储介质 | |
CN113190365B (zh) | 信息处理方法、装置以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190104 Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |