计算机即时查询输入方法

文档序号:6410332阅读:251来源:国知局
专利名称:计算机即时查询输入方法
技术领域
本发明涉及计算机信息查询的关键字输入方法,更具体地说,本发明涉及用于利用计算机作为信息查询工具时的关键字输入方法。
在过去十多年,计算机越来越普及,应用方面也越来越广,人们利用计算机所处理的数据也越来越多。由于计算机运行速度快,储存容量大,计算准确,所以计算机经常作为信息查询的工具。
运行信息查询工具的软件时,必须要输入关键字,才能进行查找(例如查询英汉词典时,必须先输入英文单词,才能查找英文单词的中文涵义)。过去的信息查询工具,都离不开“用户输入 查询”的步骤,当用户需要对某个关键字进行查询时,用户必须用键盘输入关键字,这对于用户来说带来很大的麻烦和输入错误。人们需要一种快速简便的输入关键字的方法。
本发明大大简化了信息查询的关键字输入方法。她不再需要键盘的输入,当用户在屏幕上发现某个关键字需要查询时(如查询她的中文涵义、拼音或读音),只需把鼠标移在想查询的关键字上停留0.5~1.0秒,查询的结果将马上显示(或阅读)出来(如图1所示)。
本发明的目的是提供一种在计算机上不需键盘输入,只用鼠标器指示被查找的关键字,便能从屏幕显示文字中取得作为信息查询的关键字的自动输入方法。
本发明通过下述技术方案完成,整个工作流程分为5个模块(如图4所示)1.定时查找。本模块的功能是定时检查鼠标的状态,当鼠标在屏幕上停留一定时间时(一般在0.5~1.0秒),本模块将执行第二模块。
2.取当前点的字符串。本模块的功能是根据上一模块给出的鼠标坐标点,取出屏幕上覆盖鼠标坐标点的字符串。当存在这字符串时,调用第三模块。
3.分离关键字。从上一模块得到的是覆盖鼠标坐标点的字符串,这通常是一句话,而查询字典时通常都是一个词。所以本模块的功能是在字符串中找出覆盖鼠标坐标点的关键字,然后交给下一模块处理。
4.查找。上一模块已经得到覆盖鼠标坐标点的关键字,而这模块的功能是利用已经得到覆盖鼠标坐标点的关键字进行信息查询,然后把结果交给下一模块。
5.输出。本模块的功能是利用输出设备输出查询的结果。由于字典的内容是多种多样的,她可以是文本(例如汉英双向字典,拼音等),也可以是二进制数据(例如语音库等),所以输出方法也是多种多样的,应该根据数据的不同形式输出。
以下详述五个模块之功能及实现方法功能模块1定时查找入口参数无。
出口参数查询坐标点。
本模块的功能是当用户把鼠标放在屏幕一定的时间不动时,将触发自动查询。
为实现这一功能,可以设置一个定时器,经实验证明,定时间隔以0.35秒为佳(因为鼠标停留后需要经过两个间隔程序才检查出条件是否满足,见下面执行过程),每过一个定时间隔,系统将调用定时函数一次。
定时函数的处理过程如下1.如果是第一次执行本函数,则记下当前的鼠标位置,然后返回。否则,跳到下一步。
2.取当前鼠标位置,如果与上一次鼠标位置不一致,保留当前鼠标位置,然后返回。否则,跳到下一步。
3.如果鼠标当前位置已经查找过,则返回。否则,跳到下一步。
4.取当前点所在窗口,如果当前点所在窗口是字典本身,返回。否则,跳到下一步。
5.现在,已经满足查找条件,调用下一个模块进行查找。功能模块2取当前点的字符串入口参数查询坐标点。
出口参数屏幕上覆盖查询坐标点上的字符串及该字符串上覆盖查询坐标点的字符位置。
当前的GUI系统(如Windows、Windows NT、OS/2等)都是基于消息驱动的。在每一个窗口中都存在一个消息处理函数,当发生某种事件时(如鼠标移动、按健等),系统将调用相应的窗口消息处理函数通知该窗口发生的事件,而窗口消息处理函数会根据不同的消息作出相应的处理。
在基于消息驱动的系统中,都有一个名为WM_PAINT的消息(在不同的操作系统中,会有不同的名称,但都有相同的意义)。当要求某个窗口显示内容时,系统将向该窗口发送名为WM_PAINT的消息。当窗口消息处理函数收到WM_PAINT消息后,将调用系统的TextOut(显示字符串)等函数在本窗口显示出内容。
通过以上的分析,我们可以按以下步骤取得屏幕任意点上所显示的字符串1.截取系统操作系统的输出字符串函数。
2.取得当前点的窗口句柄,并向该窗口发送WM_PAINT消息。
3.当窗口消息处理函数调用TextOut输出字符串时,分析字符串显示的位置是否覆盖当前点,如果是覆盖当前点,则该字符串是所要寻找的字符串,跳到第4步;如果不覆盖当前点,则继续本步骤。
4.计算字符串中每一个字符的字宽,得出当前点是在字符串中第几个字符(这个值将在“分词”中用到),跳到第6步。
5.如果窗口消息处理函数处理完WM_PAINT消息后,仍找不到覆盖当前点的字符串,则表示屏幕上当前点不存在字符串。跳到下一步。
6.结束。功能模块3分离关键字入口参数屏幕上覆盖查询坐标点上的字符串及该字符串上覆盖查询坐标点的字符位置。
出口参数屏幕上覆盖查询坐标点上的关键字。
通过上一步骤可以获取了当前点的字符串和当前点指向字符串中的位置,这一步骤是需要在字符串中提取查询关键字。
关键字根据查询的内容不同而不同,可以是一个字符或一个词汇,也可以是一个句子。下面,以汉英双向词典为例,说明查询步骤。
汉英双向词典是以词为查询关键字的,对于英文,分词可以通过空格来分开,对于中文,则要从句子前面开始搜索。下面是查询步骤1.设置一个游标指向句子开始,跳到下一步。
2.如果当前游标位置是标点符号或空格,游标移至下一个非标点符号或非空格的位置,跳到下一步。
3.如果当前游标位置跳过查询坐标点的字符,证明查询坐标点不存在词汇,查询结束。否则,跳到下一步。
4.如果当前游标位置是一个英文字母,游标移至下一个非英文字母(如空格、标点符号或中文字符),游标经过的地方作为一个词,跳到第6步。
如果当前游标位置不是一个英文字母跳到第5步。
5.当前位置为中文字符,按照“最长匹配优先”规则从当前游标位置取出词汇,游标移至本词汇的结束位置,跳到下一步。
6.如果鼠标查询点的位置在查找出来的词汇中,该词汇作为查询关键字,查询结束。否则,跳到第2步。功能模块4查找入口参数要查询的关键词。
出口参数对应关键词的内容。
查找模块根据查询的内容不同而不同,可以按照数据库的格式存放数据内容,并创建关键字索引。本模块与本发明的技术关系不大,这里不作过多的叙说。功能模块5输出入口参数要查询的关键词、对应关键词的内容及要查询的坐标点。
出口参数通过输出设备输出内容。
输出部分根据查询的内容不同而不同。对于可显示内容,可以在鼠标附近创建一个窗口,并在该窗口中显示出查询的关键字和查询结果。对于语音数据,则调用操作系统的声音输出函数输出查询结果。本模块与本发明的技术关系不大,这里不作过多的叙说。
以下说明在Windows3.1上实现汉英辞典的实施例。初始化模块Windows可以用SetTimer函数(见下面)设定一个定时器,设定参数为350毫秒。调用该函数后,Windows每隔350毫秒调用CRichdictView∷OnTimer函数。下面是本模块的关键代码。
定时查找模块函数CRichdictView∷OnTimer将每隔350毫秒被调用一次。在函数CRichdictView∷OnTimer中,通过调用GetCursorPos取得鼠标的当前位置,通过判断位置,确定是否进行查询。如果确定查询,调用GetWordInThePoint取得鼠标位置的查询关键字,并调用ShowResult显示结果。下面是本模块的关键代码。
取当前点的字符串模块Windows应用程序通过TextOut和ExtTextOut函数显示字符串,所以在程序开始先把这两个函数截获。为了向应用窗口发送WM_PAINT消息,刷新窗口屏幕,可以通过调用Windows的InvalidateRect函数实现。利用Windows的GetTextExtent函数可以计算字符的宽度。下面是本模块的关键代码。
分离关键字模块分离英文可以通过英文之间的空格、标点符号来实现,但分离中文则要从字符串的开始位置开始搜索。下面是本模块的关键代码。
查找和输出模块查找中英文部分可以通过RichWin的知识库获得,查找后在鼠标位置附近把内容显示出来(如所示)。下面是本模块的关键代码。
以下为本发明的操作过程。
1.如图2所示为用户运行某个应用程序时,该应用程序在屏幕上显示出多行文本。
2.当用户需要对屏幕上的某个关键字(本例子的关键字为“停留”)进行查询时,用户把鼠标移至所查关键字的位置(如图2所示的鼠标位置)。
3.当鼠标在以上所述的位置停留一定的时间时(一般在0.5~1.0秒),鼠标位置所指向的关键字(本例子的关键字为“停留”)将自动被输入至查询程序中(本例子的查询工具为汉英字典)。
4.查询工具接收到被输入的关键字后,在鼠标的附近将显示出对该关键字的查询结果(如图3,本例子为查出关键字“停留”的英文单词)。


图1为英汉辞典实施例的查找(英译汉)示意图。当鼠标停留在“China”上0.5~1.0秒后屏幕显示出“China”的中文涵义。
图2为汉英辞典实施例的查找(汉译英)示意图。当用户需要查找某个关键字时鼠标移在MS-WORD程序中单词“停留”的位置上。
图3为汉英辞典实施例的查找(汉译英)示意图。当鼠标在MS-WORD程序中的单词“停留”上停留0.5~1.0秒后屏幕显示出“停留”的英文涵义。
图4为本发明方法的工作总流程。
本发明有以下有益效果1.本发明所使用的输入设备是鼠标,而不是键盘,所以操作方便。
2.本发明可在多种系统平台上实现。本发明可以用在Windows、Windows95、Windows NT、OS/2、Mac等多种图形环境上。
3.本发明可用在多种应用程序上。由于本发明的查询方法与具体的应用程序无关,所以绝大多数运行在图形环境的应用程序无需作任何修改,即可查询她们显示在屏幕上的关键字。
4.本发明可查阅的关键字不仅仅可以是英文,而且可以是中文、日语、标点符号,只要在屏幕上显示出来的文字,都可以作为查询关键字。
5.本发明可根据关键字可查询多种字典。利用本发明,可以实现汉英、英汉、汉字内码、汉字输入法、语音、同意词查询……等多种查询工具。
6.本发明不影响原有应用程序的执行。原来应用程序的操作方法、性能将不会有任何的影响。
7.由于本发明省去键盘输入的步骤,所以大大提高了输入的准确性。
权利要求
1.一种计算机即时查询输入方法,其特征在于采用鼠标器输入被查询的关键字。
2.如权利要求1所述的计算机即时查询输入方法,其特征在于所说的用鼠标器输入按下述步骤完成1)定时查找,即定时检查鼠标的状态。2)取当前点的字符串,即根据上一模块给出的鼠标坐标点,取出屏幕上覆盖鼠标坐标点的字符串。3)分离关键字,即在字符串中找出覆盖鼠标坐标点的关键字。
3.如权利要求1所述的计算机即时查询输入方法,其特征在于完成关键词输入后,按下述步骤完成查询1)查找,即利用已经得到覆盖鼠标坐标点的关键字进行信息查询。2)输出,即利用输出设备输出查询的结果。
全文摘要
本发明涉及计算机即时查询输入方法,该方法的特征是用鼠标输入被查询关键字。使用本发明方法在计算机上查询信息,只需将鼠标指在欲查询关键字上停留0.5~1.0秒,则在输出设备中输出查询结果,而无需键盘输入。本发明可在多种系统平台上实现,可用在Windows等多种图形环境,多种应用程序上。本发明所查关键字不仅可以是英文,而且可以是中、日文、标点符号等。运用本发明可查询多种字典如汉英、英汉、汉字内码、汉字输入法、语音等等。
文档编号G06F17/30GK1142087SQ9610746
公开日1997年2月5日 申请日期1996年6月7日 优先权日1996年6月7日
发明者王志刚, 王志东 申请人:北京四通利方信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1