专利名称:一种控制启动的方法和装置的制作方法
技术领域:
本发明涉及计算机领域,特别涉及一种控制启动的方法和装置。
背景技术:
鼠标作为一种输入工具已被广泛使用,而且随着科技的进步,对鼠标的应用也越来越多样化。现有一种带鼠标轨迹识别的软件——Magic !formation。它的基本功能是通过鼠标的逆时针圆形轨迹或者是顺时针圆形轨迹来启动快捷菜单,从而在快捷菜单中选择要启动的程序。也就是说在任何情况下只要鼠标做出了顺时针圆形轨迹或者逆时针圆形轨迹,快捷菜单就会被启动。但是在实现本发明的过程中,发明人发现现有技术至少存在以下问题如果用户在使用其他软件的同时需要作出类似的鼠标行为,就会误启动快捷菜单,造成不必要的麻烦。
发明内容
为了克服鼠标识别时对其它程序造成的影响,本发明实施例提供了一种控制启动的方法和装置。所述技术方案如下一种控制启动的方法,包括获取鼠标轨迹;判断鼠标轨迹识别是否处于激活状态,如果所述鼠标轨迹识别处于激活状态,则识别所述鼠标轨迹,启动相应的执行程序;如果所述鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。所述获取鼠标轨迹之前还包括当用户按下键盘快捷键时,或用户连续单击鼠标指定次数时,将所述鼠标轨迹识别设置为激活状态。所述识别所述鼠标轨迹,包括获取所述鼠标轨迹中所有点的坐标集合;判定所述坐标集合中所有点在X方向和Y方向上的变化趋势;根据所述坐标集合中所有点在X方向和Y方向的变化趋势识别所述鼠标轨迹。所述判断所述坐标集合中所有点在X方向和Y方向上的变化趋势,包括将所述X方向和Y方向分别作为当前方向从所述坐标集合中最后得到的点开始,计算所述坐标集合中当前方向每相邻两个点的差值,直到所述坐标集合中的最先得到的点计算完成,得到多个差值;对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。所述对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势,包括
4
Cl 设置差值窗口的大小为k ;C2 从最先计算得到的差值开始,顺序将k个差值依次放入所述差值窗口中;C3 计算所述差值窗口中当前所有差值的总和,并求取所述总和的绝对值;C4:如果所述绝对值小于预设的阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为不变;如果所述绝对值大于所述阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为变化;C5 从所述差值窗口的最左端开始依次移出i个差值,并在所述差值窗口的最右端依次移入i个新的差值,i小于等于k,所述新的差值是所述多个差值中除k个以外的差值,且所述i和k均为自然数;C6 重复步骤C3-C5直到所述多个差值均被放入所述差值窗口中,得到最后一个差值窗口,并按照步骤C3和C4相同方法完成对所述最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所述所有坐标集合中所有点在当前方向的变化趋势。所述判定当前所述差值窗口中的差值的当前方向的变化趋势为变化,包括如果所述总和大于零,则判定当前所述差值窗口中的差值的当前方向的变化趋势为变大;如果所述总和为小于零,则判定当前所述差值窗口中的差值的当前方向的变化趋势为变小。一种控制启动的装置,包括获取模块,用于获取鼠标轨迹;执行模块,用于判断鼠标轨迹识别是否处于激活状态,如果所述鼠标轨迹识别处于激活状态,则识别所述鼠标轨迹,启动相应的执行程序;如果所述鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。所述装置还包括第一激活模块,用于当用户按下键盘快捷键时,将所述鼠标轨迹识别设置为激活状态;第二激活模块,用于当用户连续单击鼠标指定次数时,将所述鼠标轨迹识别设置为激活状态。所述执行模块,包括获取单元,用于获取所述鼠标轨迹中所有点的坐标集合;判断单元,用于判定所述坐标集合中所有点在X方向和Y方向上的变化趋势;识别单元,用于根据所述坐标集合中所有点在X方向和Y方向的变化趋势识别所述鼠标轨迹。所述判断单元,包括将所述X方向和Y方向分别作为当前方向第一计算子单元,用于从所述坐标集合中最后得到的点开始,计算所述坐标集合中当前方向每相邻两个点的差值,直到所述坐标集合中的最先得到的点计算完成,得到多个差值;第二计算子单元,用于对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。所述第二计算子单元,具体用于Cl 设置差值窗口的大小为k ;C2 从最先计算得到的差值开始,顺序将k个差值依次放入所述差值窗口中;C3 计算所述差值窗口中当前所有差值的总和,并求取所述总和的绝对值;C4:如果所述绝对值小于预设的阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为不变;如果所述绝对值大于所述阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为变化;C5 从所述差值窗口的最左端开始依次移出i个差值,并在所述差值窗口的最右端依次移入i个新的差值,i小于等于k,所述新的差值是所述多个差值中除k个以外的差值,且所述i和k均为自然数;C6 重复步骤C3-C5直到所述多个差值均被放入所述差值窗口中,得到最后一个差值窗口,并按照步骤C3和C4相同方法完成对所述最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所述所有坐标集合中所有点在当前方向的变化趋势。本发明实施例提供的技术方案带来的有益效果是当用户激活鼠标轨迹识别时, 才能识别鼠标动作启动相应的程序,当不激活鼠标识别时,则不会识别鼠标动作,实现了对使用鼠标轨迹识别启动相应程序的控制,克服了鼠标识别时给其它程序造成的影响。
图1是本发明实施例1中提供的一种启动的方法的流程图;图2是本发明实施例2中提供的一种启动的方法的流程图;图3是本发明实施例3中提供的一种鼠标轨迹识别的方法的流程图;图4是本发明实施例4中提供的一种启动的装置的结构图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图1,本实施例提供了一种启动的方法,包括步骤101 获取鼠标轨迹;步骤102 判断鼠标轨迹识别是否处于激活状态,如果鼠标轨迹识别处于激活状态,则识别鼠标轨迹,启动相应的执行程序;步骤103 如果鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。其中,获取鼠标轨迹之前还包括当用户按下键盘快捷键时,或用户连续单击鼠标指定次数时,将鼠标识别设置为激活状态。本实施例中,识别鼠标轨迹,包括获取鼠标轨迹中所有点的坐标集合;
6
判定坐标集合中所有点在X方向和Y方向上的变化趋势;根据坐标集合中所有点在X方向和Y方向的变化趋势识别鼠标轨迹。其中,判断坐标集合中所有点在X方向和Y方向上的变化趋势,包括将X方向和Y方向分别作为当前方向从坐标集合中最后得到的点开始,计算坐标集合中当前方向每相邻两个点的差值,直到坐标集合中的最先得到的点计算完成,得到多个差值;对多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。本实施例中,对多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势,包括Cl 设置差值窗口的大小为k ;C2 从最先计算得到的差值开始,顺序将k个差值依次放入差值窗口中;C3 计算当前差值窗口中当前所有差值的总和,并求取总和的绝对值;C4:如果绝对值小于预设的阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为不变;如果绝对值大于所述阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为变化;C5 从差值窗口的最左端开始依次移出i个差值,并在差值窗口的最右端依次移入i个新的差值,i小于等于k,新的差值是多个差值中除k个以外的差值,且i和k均为自然数;C6 重复步骤C3-C5直到多个差值均被放入差值窗口中,得到最后一个差值窗口, 并按照步骤C3和C4相同方法完成对最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所有坐标集合中所有点在当前方向的变化趋势。其中,判定当前差值窗口中的差值的当前方向的变化趋势为变化,包括如果所述总和大于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变大;如果总和为小于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变小。本发明实施例提供的技术方案带来的有益效果是当用户激活鼠标轨迹识别时, 才能识别鼠标动作启动相应的程序,当不激活鼠标识别时,则不会识别鼠标动作,实现了对使用鼠标轨迹识别启动相应程序的控制,克服了鼠标识别时给其它程序造成的影响。实施例2参见图2,本发明实施例提供了一种启动的方法,所应用的开发环境为,操作系统 Windows XP SP3 禾口 IDE (Integrated Development Environment,集成开发环境)Visual Studio 2005,具体包括:步骤201 程序主界面获取鼠标轨迹。本实施例中,MouseShortcut. dll为程序主界面,用于从配置文件中读取并且以列表方式显示用户已经定义的鼠标动作。程序界面还提供增加,删除,修改,隐藏主窗口等操作。
程序主界面主要由两个类构成类CMainFrame和CUserDefine。类CMainFrame派生于⑶ialog,实现了程序的主窗口,在该类中定义一个鼠标动作与SH0RTCUTINF0的映射, 根据读取的配置文件建立该映射,向其它模块传递该映射的指针。类CUserDefine派生于 CDialog,实现了用户增加和修改快捷方式的界面。其中,类CMainFrame中包括m_shortcutInfo成员STL中的map类型,建立了鼠标动作与快捷方式信息的映射,使用map类型能够非常快速的根据鼠标动作找到对应的快捷方式信息。LoadConfigO从配置文件中加载用户配置信息。AddItemO添加新的用户配置项,更新以下三项,1.用户配置文件2. map映射 3.显示列表。DeleteItemO删除用户配置项。ModifyItemO修改用户配置项。FreeMemO释放map中SH0RTCUTINF0结构的内存空间。DelayLoadHelper ()设置 dll 的加载路径。其中,类CUserDefine 包括m_info成员保存新增或修改后的信息。GetShortcutInfo ()获取新增或修改后的信息。步骤202 判断桌面画布是否处于激活状态,如果桌面画布被激活,则桌面画布识别鼠标轨迹,启动相应的执行程序。其中,如果桌面画布处于激活状态,在获取鼠标轨迹之前,要先启动桌面画布(即鼠标轨迹识别)。在程序主界面上用户可以选择启动桌面画布的方式,如果选择的是键盘快捷键方式启动桌面画布,则当用户按下快捷键时,直接启动桌面画布;若选择鼠标启动方式,则要先安装MouseHook. dll全局鼠标钩子,以便监听鼠标在任意时刻鼠标左键是否连续按下了设定次数,如果检测到鼠标左键按下了设定次数,则启动画布。其中,设定次数可以为3次、4次等,本实施例中优选地设定为3次。其中,MouseHook. dll全局鼠标钩子中导出两个函数SetMouseHookO和 UnloadMouseHook()。SetMouseHook ()用于接受MouseShortcut. dl 1中的映射指针,然后将该指针传递 ο^Μ ^fJIl^i ScreenCanvas. dll。UnloadHouseHook ()用于卸载鼠标钩子。本发明实施例中,类CScreenCanvas实现了桌面画布功能,该类派生于dialog, 其窗口样式没有系统菜单,即只有客户区窗口,在创建时首先保存当前屏幕的截图,然后将窗口改变到与屏幕一样大,然后将屏幕截图贴在窗口的客户区。当桌面画布被启动后,桌面会被一幅和桌面一样的图片覆盖,此时按住鼠标左键并拖动鼠标,在屏幕上将会出现鼠标移动的轨迹,并实时显示当前识别出来的动作。当确定动作后松开鼠标左键,桌面画布识别鼠标的轨迹,并启动与该动作相对应的执行程序。其中,启动与该动作相对应的执行程序可以是启动一个程序、执行一个命令、打开一个文件或是打开相关的网页等操作。步骤203 如果桌面画布处于未激活状态,则不启动相应的执行程序。
本实施例中,快捷方式信息包含了使用的鼠标动作,命令别名,命令路径,命令参数,其它备注信息等。使用如下结构体表示typedef struct_SH0RTCUTINF0{M0USEACTI0N action ; Il 鼠标动作unsigned int cmdShow ;// PifJpiunsigned shortchar*actionName ; // 鼠标动作名称char*nickName ;//该动作的别名char^fileName ; Il该动作执行命令的路径char*paramsLi st ; // 命令参数
char*otherInfo ; // 其它信息} SH0RTCUTINF0 ;本发明实施例中配置文件采用Windows下的ini格式文件保存用户数据,Windows 提供了专门的API来操作ini格式文件,非常方便。本发明实施例提供的技术方案带来的有益效果是当用户激活鼠标轨迹识别时, 才能识别鼠标动作启动相应的程序,当不激活鼠标识别时,则不会识别鼠标动作,实现了对使用鼠标轨迹识别启动相应程序的控制,克服了鼠标识别时给其它程序造成的影响。并通过桌面画布实现了鼠标轨迹的识别。实施例3参见图3,本实施例提供了一种鼠标轨迹识别的方法,具体包括步骤301 桌面画布获取鼠标轨迹中所有点的集合。其中,将获取的X坐标和Y坐标的值分开存储,本实施例优选地存储数据结构式 vector。步骤302 判定坐标集合中所有点在X方向和Y方向上的变化趋势。其中,将X方向和Y方向分别作为当前方向差值的计算方法是,从坐标集合中最后得到的点开始,计算坐标集合中当前方向每相邻两个点的差值,直到坐标集合中的最先得到的点计算完成,得到多个差值。其中,每相邻两个点的差值即将后一个坐标值减去前一个坐标值(这里的前后为时间顺序,后一个表示时间最近的,前一个表示时间较远的)。对多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。本实施例中,对多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势,具体包括Cl 设置差值窗口大小为k。其中,优选地,将差值窗口的大小设置为20。C2 从最先计算得到的差值开始,顺序将k个差值依次放入差值窗口中。本实施例中,顺序地将得到的多个差值放入窗口中。
C3 计算差值窗口中当前所有差值的总和,并求取总和的绝对值。其中,窗口中放入k个差值后,窗口被填满,则要对当前的数据进行一次趋势的判断。做趋势判断之前要对窗口中的差值计算。C4:如果绝对值小于预设的阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为不变;如果绝对值大于所述阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为变化。其中,如果总和大于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变大;如果总和为小于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变小。判断后将判断结果存入相应坐标轴趋势的结果中(保存判断趋势结果的数据结构为 vector),这里存入时还有一个条件,就是趋势结果中最近存入的结果和要加入的结果不同时才将结果存入(例如现在趋势结果中最新的为变大,那么要加入的结果也是变大,那么就不继续存入,如果加入的结果为变小,那么将结果加入到趋势结果中)。本实施例中,优选地,预设的阈值大小为20。C5 从差值窗口的最左端开始依次移出i个差值,并在差值窗口的最右端依次移入i个新的差值,i小于等于k。其中,每次做完趋势判断后,窗口便向前移动,移动的方法是,移出最早的i个差值,然后加入i个新的差值。新的差值是多个差值中除k个以外的差值,且i和k均为自然数。本实施例中,优选地,i为1。C6 重复步骤C3-C5直到多个差值均被放入差值窗口中,得到最后一个差值窗口, 并按照步骤C3和C4相同方法完成对最后一个差值窗口的计算和判断。C7:将每次判断得到的当前方向的变化趋势合并,得到所有坐标集合中所有点在当前方向的变化趋势。按照上面的过程直到遍历完所有的坐标值并且得到X方向和Y方向的趋势结果。为了更清楚的说明本实施例中的鼠标轨迹识别方法,下面具体举一个例子。假设窗口大小为4,阀值为4假设现在从用户的轨迹中得到X轴坐标序列为100,101,100,99,98,102,100。那么窗口中的初始值就应该是1 (101-100),-1 (100-101),_1 (99-100),_1 (98-99)。初始化完成后进行第一次趋势判断,1+(-1) + (-1) + (-1) =_2,-2 <4,所以第一次判断的趋势为不变。移动窗口,丢弃当前窗口中最先得到的差值(丢弃1),然后加入4 (102-98),这时候窗口里面为-1-1-14,进行趋势判断,(-1) + (-1) + (-1)+4 = 1, 1 <4,所以第二次判断的趋势为不变,在趋势结果中存放的最新趋势也是不变,所以不进行添加。再移动窗口,丢弃当前窗口中最先得到的差值(丢弃-1),然后加入-2 (100-102), 这时候窗口里面为-1-14-2,进行趋势判断,(-1) + (-1)+4+(-2) =0,0<4,所以第三次判断的趋势为不变,在趋势结果中存放的最新趋势也是不变,所以不进行添加。这时候坐标已经扫描完毕,判断后的最终结果为X的趋势为不变。步骤303 桌面画布根据坐标集合中所有点在X方向和Y方向上的变化趋势识别
10鼠标轨迹。根据步骤301-303的方法,本实施例中,总共定义的轨迹种类为16种,分别为UP(向上),D0WN(向下),LEFT(向左),RIGHT(向右),UPRIGHT(先上后右), UPLEFT (先上后左),UPDOffN (先上后下),DOWNRIGHT (先下后右),DOffNLEFT (先下后左), DOffNUP (先下后上),RIFGHTUP (先右后上),RIGHTD0WN(先右后下),RIGHTLEFT (先右后左),LEFTUP (先左后上),LEFTDOffN(先左后下),LEFTRIGHT (先左后右),其中,每种鼠标轨迹可选择性地对应启动程序、执行命令、打开文件或是打开网页等操作。本发明实施例的有益效果是提供了一种鼠标轨迹的识别方法,定义了 16种不同鼠标轨迹,并可以给不同的轨迹定义不同的执行程序。实施例4参见图4,本实施例提供了一种启动的装置,包括获取模块401,执行模块402。获取模块401,用于获取鼠标轨迹;执行模块402,用于判断鼠标轨迹识别是否处于激活状态,如果鼠标轨迹识别处于激活状态,则识别鼠标轨迹,启动相应的执行程序;如果鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。本实施例中,装置还包括第一激活模块,用于当用户按下键盘快捷键时,将鼠标轨迹识别设置为激活状态;第二激活模块,用于当用户连续单击鼠标指定次数时,将鼠标轨迹识别设置为激活状态。其中,执行模块包括获取单元,用于获取鼠标轨迹中所有点的坐标集合;判断单元,用于判定坐标集合中所有点在X方向和Y方向上的变化趋势;识别单元,用于根据坐标集合中所有点在X方向和Y方向的变化趋势识别鼠标轨迹。其中,判断单元包括将X方向和Y方向分别作为当前方向第一计算子单元,用于从坐标集合中最后得到的点开始,计算坐标集合中当前方向每相邻两个点的差值,直到坐标集合中的最先得到的点计算完成,得到多个差值;第二计算子单元,用于对多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。本实施例中,第二计算子单元,具体用于Cl 设置差值窗口的大小为k ;C2 从最先计算得到的差值开始,顺序将k个差值依次放入所述差值窗口中;C3 计算差值窗口中当前所有差值的总和,并求取总和的绝对值;C4:如果绝对值小于预设的阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为不变;如果绝对值大于所述阈值,则判定当前差值窗口中的所有差值的当前方向的变化趋势为变化;其中,如果总和大于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变大; 如果总和为小于零,则判定当前差值窗口中的差值的当前方向的变化趋势为变C5 从差值窗口的最左端开始依次移出i个差值,并在差值窗口的最右端依次移入i个新的差值,i小于等于k,新的差值是多个差值中除k个以外的差值,且i和k均为自然数;C6 重复步骤C3-C5直到多个差值均被放入差值窗口中,得到最后一个差值窗口, 并按照步骤C3和C4相同方法完成对最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所有坐标集合中所有点在当前方向的变化趋势。本发明实施例的有益效果是当用户激活鼠标轨迹识别时,才能识别鼠标动作启动相应的程序,当不激活鼠标识别时,则不会识别鼠标动作,实现了对使用鼠标轨迹识别启动相应程序的控制,克服了鼠标识别时给其它程序造成的影响。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种控制启动的方法,其特征在于,所述方法包括 获取鼠标轨迹;判断鼠轨迹标识别是否处于激活状态,如果所述鼠标轨迹识别处于激活状态,则识别所述鼠标轨迹,启动相应的执行程序;如果所述鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。
2.根据权利要求1所述的方法,其特征在于,所述获取鼠标轨迹之前还包括当用户按下键盘快捷键时,或用户连续单击鼠标指定次数时,将所述鼠标轨迹识别设置为激活状态。
3.根据权利要求1所述的方法,其特征在于,所述识别所述鼠标轨迹,包括 获取所述鼠标轨迹中所有点的坐标集合;判定所述坐标集合中所有点在X方向和Y方向上的变化趋势; 根据所述坐标集合中所有点在X方向和Y方向的变化趋势识别所述鼠标轨迹。
4.根据权利要求3所述的方法,其特征在于,所述判定所述坐标集合中所有点在X方向和Y方向上的变化趋势,包括将所述X方向和Y方向分别作为当前方向从所述坐标集合中最后得到的点开始,计算所述坐标集合中当前方向每相邻两个点的差值,直到所述坐标集合中的最先得到的点计算完成,得到多个差值;对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。
5.根据权利要求4所述的方法,其特征在于,所述对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势,包括Cl 设置差值窗口的大小为k;C2 从最先计算得到的差值开始,顺序将k个差值依次放入所述差值窗口中; C3 计算所述差值窗口中当前所有差值的总和,并求取所述总和的绝对值; C4:如果所述绝对值小于预设的阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为不变;如果所述绝对值大于所述阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为变化;C5 从所述差值窗口的最左端开始依次移出i个差值,并在所述差值窗口的最右端依次移入i个新的差值,i小于等于k,所述新的差值是所述多个差值中除k个以外的差值,且所述i和k均为自然数;C6 重复步骤C3-C5直到所述多个差值均被放入所述差值窗口中,得到最后一个差值窗口,并按照步骤C3和C4相同方法完成对所述最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所述所有坐标集合中所有点在当前方向的变化趋势。
6.根据权利要求5所述的方法,其特征在于,所述判定当前所述差值窗口中的差值的当前方向的变化趋势为变化,包括如果所述总和大于零,则判定当前所述差值窗口中的差值的当前方向的变化趋势为变大;如果所述总和为小于零,则判定当前所述差值窗口中的差值的当前方向的变化趋势为变小。
7.—种控制启动的装置,其特征在于,所述装置包括 获取模块,用于获取鼠标轨迹;执行模块,用于判断鼠标识别是否处于激活状态,如果所述鼠标识别处于激活状态,则识别所述鼠标轨迹,启动相应的执行程序;如果所述鼠标识别处于未激活状态,则不启动相应的执行程序。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括第一激活模块,用于当用户按下键盘快捷键时,将所述鼠标轨迹识别设置为激活状态;第二激活模块,用于当用户连续单击鼠标指定次数时,将所述鼠标轨迹识别设置为激活状态。
9.根据权利要求7所述的装置,其特征在于,所述执行模块,包括 获取单元,用于获取所述鼠标轨迹中所有点的坐标集合;判断单元,用于判定所述坐标集合中所有点在X方向和Y方向上的变化趋势; 识别单元,用于根据所述坐标集合中所有点在X方向和Y方向的变化趋势识别所述鼠标轨迹。
10.根据权利要求9所述的装置,其特征在于,所述判断单元,包括第一计算子单元,用于将所述X方向和Y方向分别作为当前方向,从所述坐标集合中最后得到的点开始,计算所述坐标集合中当前方向每相邻两个点的差值,直到所述坐标集合中的最先得到的点计算完成,得到多个差值;第二计算子单元,用于对所述多个差值进行计算,并将计算结果与预设的阈值进行比较得到当前方向的变化趋势。
11.根据权利要求10所述的装置,其特征在于,所述第二计算子单元,具体用于执行以下步骤Cl 设置差值窗口的大小为k;C2 从最先计算得到的差值开始,顺序将k个差值依次放入所述差值窗口中; C3 计算所述差值窗口中当前所有差值的总和,并求取所述总和的绝对值; C4:如果所述绝对值小于预设的阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为不变;如果所述绝对值大于所述阈值,则判定当前所述差值窗口中的所有差值的当前方向的变化趋势为变化;C5 从所述差值窗口的最左端开始依次移出i个差值,并在所述差值窗口的最右端依次移入i个新的差值,i小于等于k,所述新的差值是所述多个差值中除k个以外的差值,且所述i和k均为自然数;C6 重复步骤C3-C5直到所述多个差值均被放入所述差值窗口中,得到最后一个差值窗口,并按照步骤C3和C4相同方法完成对所述最后一个差值窗口的计算和判断;C7:将每次判断得到的当前方向的变化趋势合并,得到所述所有坐标集合中所有点在当前方向的变化趋势。
全文摘要
本发明公开了一种控制启动的方法和装置,属于领域计算机领域。所述方法包括获取鼠标轨迹;判断鼠标轨迹识别是否处于激活状态,如果所述鼠标轨迹识别处于激活状态,则识别所述鼠标轨迹,启动相应的执行程序;如果所述鼠标轨迹识别处于未激活状态,则不启动相应的执行程序。所述装置包括获取模块和执行模块。本发明当用户激活鼠标轨迹识别时,才能识别鼠标动作启动相应的程序,当不激活鼠标轨迹识别时,则不会识别鼠标动作,实现了对使用鼠标识别启动相应程序的控制,克服了鼠标识别时给其它程序造成的影响。
文档编号G06F3/048GK102385471SQ201010272310
公开日2012年3月21日 申请日期2010年8月31日 优先权日2010年8月31日
发明者何泳澔, 曾键 申请人:腾讯科技(深圳)有限公司