常见问题


QCall常见问题

Q1:GetWord支持哪些操作系统?
 A:GetWord支持下列操作系统:

  1. Windows2000系列:Windows2000Professional,Windows2000Server, Windows2000AdvancedServer
  2. WindowsXP系列:WindowsXPHome,WindowsXPProfessional
  3. WindowsServer2003系列
  4. WindowsVista系列

Q2:GetWord支持哪些软件开发环境?支持哪些编程语言?
 A:GetWord支持所有的主流开发环境,如:VisualStudio6.0,VisualStudio2003,VisualStudio2005,Delphi7,C++Builder等。GetWord支持所有主流的编程语言,如C++,VisualBasic,Delphi等。一般来讲,GetWord支持所有支持ActiveX或RawDll调用接口的软件开发环境和编程语言系统。

Q3:GetWord支持哪些语言编码格式?
 A:GetWord支持各种常见语言编码格式,如英文/简体中文/繁体中文/俄语/法语/日语/德语/西班牙语等。

Q4:GetWord支持Unicode吗?
 A:是的,GetWord支持Unicode。它可以从采用Unicode编码格式的软件系统中正确抓取文字,此外,GetWord的所有API接口函数也都与Unicode兼容。

Q5:GetWord支持抓取一个给定点(x,y)处的文字吗?我想抓取鼠标(cursor)或光标(caret)所在处的文字,如何获取其位置?
 A:GetWord支持抓取一个给定点(x,y)处的文字,您可以利用GetWord的API函数GetString来获取该处文字。您可以利用Windows的API函数GetCursorPos和GetCaretPos来获取鼠标(cursor)或光标(caret)所在位置。

Q6:GetWord支持句子捕捉吗?GetWord是否支持同时抓取多行文字?
 A:是的,GetWord支持句子捕捉。如果句子在一行上,可以用GetString完成抓取,如果句子横跨多行,可以用GetRectString或GetRectStringPairs抓取。此外,GetRectString和GetRectStringPairs也可以抓取到一个给定区域内的一行或多行文字。

Q7:我发现GetWord的GetRectString函数使用了一个内置的文本格式化输出器,我想自己控制一个给定区域内的文字输出,GetWord支持吗?
 A:这种情况下,您可以使用GetWord的API函数GetRectStringPairs来获取该区域内的所有子串以及每个字串对应的矩形位置,然后根据每个子串的矩形位置,自己来控制输出文本的编排格式。

Q8:GetWord和主流的软件系统兼容吗?
 A:GetWord和绝大多数的主流软件系统兼容。它可以从各种常见的Windows控件中抓取文字,如Dialog,Toolbar,Menu,EditBox,ComboBox,ListBox,TreeCtrl,等。

Q9:GetWord是否可以捕捉对话框、表单及控件中的隐藏文字?
 A:GetWord不支持捕捉对话框、表单及控件中的隐藏文字。GetWord仅捕捉屏幕上可见的文字。如果要捕捉隐藏的文字,比如想捕捉带有很长滚动条表单中的不可见内容,需要先给该表单发送滚动消息,待捕捉的内容滚动到屏幕可见后,就可以用GetWord进行文字捕捉了。

Q10:GetWord是否可以捕捉用Java编写的软件界面上的文字?
 A:GetWord支持部分Java应用程序的抓词。它可以正确捕捉采用SWT或AWT技术的Java应用程序的文字,不能捕捉采用Swing技术的Java应用程序的文字。简而言之,GetWord仅支持那些采用Windows本地文本输出函数输出文本的Java应用程序的抓词。

Q11:GetWord支持热键捕捉吗?我想设置Alt+鼠标左键作为捕捉热键,GetWord支持吗?
 A:GetWord支持热键捕捉。您可以利用GetWord的API函数EnableHotkeyCapture设置任何键(keys)和鼠标按钮(mousebuttons)的组合作为捕捉热键。

Q12:GetWord捕捉某些页面时显示的是乱码,比如??等。这是什么原因?
 A:GetWord以Unicode格式返回捕捉到的字符串。如果捕捉到的文字都显示为??,绝大多数情况下,都是因为没有正确启用Unicode导致的。多数流行的开发环境缺省都是以ANSI格式编译程序,这些程序不能正确显示本地代码页以外的其它文字。用Unicode重新编译您的程序后,就可以正常显示相应的文字了。

各个开发环境下如何正确启用Unicode开关,编译生成Unicode版本。

VisualC++6。0(VC6)

用VisualC++6。0集成开发环境打开项目文件(*。dsw),单击"Project"->"Settings"打开"ProjectSettings"对话框,单击"C/C++"标签。在"Preprocessordefinitions"编辑框中,删除_MBCS,然后在编辑框中填入_UNICODE(Pic。1)。单击"Link"标签,在"Entry-pointsymbol"编辑框中,输入wWinMainCRTStartup(Pic。2),然后单击"OK"按钮关闭对话框,重新编译项目。

请参考SDK中的Samples\ActiveX_Demo\VC6Demo以获得进一步的信息。

VisualBasic6。0(VB6)

VB6的缺省控件集(如编辑框(textbox),标签(label),按钮(button)等)是基于ANSI的,不支持Unicode。为了在VB6中支持Unicode,您需要换用一组支持Unicode的控件集。Microsoft给出了一个解决方案:

Q193540:HowToReadandDisplayUNICODEStringonVisualBasicForm

建议您采用VB2005,VB2005可以完全兼容Unicode。

BorlandC++Builder6。0(BCB6)

BCB6的缺省控件集(如编辑框(textbox),标签(label),按钮(button)等)是基于ANSI的,不支持Unicode。为了在BCB6中支持Unicode,您需要换用一组支持Unicode的控件集,比如TntUnicodeControls。请参考SDK中的Samples\ActiveX_Demo\BCB6Demo_Unicode以获得进一步的信息。

BorlandDelphi7。0(Delphi7)

Delphi7的缺省控件集(如编辑框(textbox),标签(label),按钮(button)等)是基于ANSI的,不支持Unicode。为了在Delphi7中支持Unicode,您需要换用一组支持Unicode的控件集,比如TntUnicodeControls。请参考SDK中的Samples\ActiveX_Demo\Delphi7Demo_Unicode以获得进一步的信息。

VisualC#2005(C#2005)

C#2005可以完全兼容Unicode,无需做任何特别设置。

VisualBasic2005(VB2005)

VB2005可以完全兼容Unicode,无需做任何特别设置。

VisualC++2005(VC2005)

用VC2005集成开发环境打开项目文件(*。sln)。在"SolutionExplorer"视图中,用右键单击项目,从弹出的菜单中选择"Properties",在"PropertyPages"设置对话框的左侧选择"ConfigurationProperties"->"General",在"PropertyPages"设置对话框右侧的"ProjectDefaults"类别中,设置"CharacterSet"为"UseUnicodeCharacterSet"(Pic。3),单击"OK"按钮关闭对话框,然后重新编译项目。
Pic.3

Q13:GetWord是否支持同时对屏幕上的多个点进行文字捕捉?
 A:是的,GetWord支持同时对屏幕上的多个点进行捕捉。在这种情况下,您需要做一个循环,每次循环时取出一个要捕捉的点,然后调用GetWord的API函数GetString、GetRectString或GetRectStringPairs完成捕捉。

Q14:我想订购GetWord的源代码。请问GetWord的源代码是用什么语言编写的?代码结构和注释都很好吗?
 A:GetWord的所有库代码均是由C++语言编写的。可以利用Visual Studio 2003/2005对其进行编译,整个源代码具有良好的结构和丰富的注释信息。

Q15:GetWord的功能能够满足我们产品的大部分需求,但我们还需要基于GetWord做一些定制工作。你们是否提供这样的定制服务?收费如何?
 A:我们提供基于GetWord的定制服务。如果定制的内容比较简单,定制是免费的。如果定制的内容比较复杂,我们需要收取一定的定制费用,具体定制费用的多少需要根据定制内容双方协商议定。

Q16:是否有办法获得鼠标所在处的完整单词?比如,对于单词Google,不管鼠标指针放在其中哪个字符上,我都想返回单词Google。有办法办到吗?
 A:在单点捕捉模式下,您只需要指定需要捕捉的点(屏幕坐标系),GetWord每次捕捉时返回两项内容:1。给定捕捉点处所在行的完整字符串2。给定点所在处字符在整个字符串中的索引位置(zero-based)。比如,您想捕捉鼠标所在处的文字。假设屏幕上显示的文字是:"ManypeopleuseGoogletosearchthings。Googleisagreatsearchingengine。"如果您把鼠标指针放在第二个Google的第一个'o'字符上,GetWord将返回:1。整个字符串:ManypeopleuseGoogletosearchthings。Googleisagreatsearchingengine。2。鼠标所在处字符在整个字符串中的:42

在我们的实例程序(您可以在这里找到示例程序,http://www。textcapture。com),上述两项内容分别为标记为'AllText'和'CursorPos'。鼠标所在出文字是根据上述两项内容计算获得的。

一般来讲,如果您想返回给定点处的完整单词,比如,对于Google这个单词,如果希望不论鼠标指针放在其中哪个字符上,都返回完整单词Google,一般需要一个字典,根据字典中的内容决定返回什么单词。对于某些简单的情形,可以不用字典而利用正则表达式来确定应该返回什么单词。为了方便您的使用,GetWordSDK中提供了一个基于正则表达式的例子,该例子位于GetWordSDK安装目录中的Sample\PlugIn_Demo\Token目录下

Q17:我用VisualC++6。0生成Unicode版本的程序,链接器(linker)报告了如下错误:"libcmtd。lib(wincrt0。obj):errorLNK2001:unresolvedexternalsymbol_WinMain@16"。这是什么原因导致的?应该如何修复这个错误?
 A:您需要设置程序的入口点(Entry-point)函数。请按以下步骤设置:(请参阅Q12以获得进一步的信息) 1。那zhineng"关闭对话框,然后重新编译项目既可

Q18:我以前安装过GetWord文本抓取引擎,当我更新到最新版本后,重新编译时编译器提示某些函数不可用,这是怎么回事?
 A:这是因为GetWord最新版本的库程序添加了一些新的API函数,您重新添加对最新版本取词引擎库的引用(reference)既可。

Q19:我的GetWord版本不能进行PDF取词,这是怎么回事?
 A:GetWord支持各种版本的AdobeAcrobatStandard,AdobeAcrobatProfessional,AdobeAcrobatReader(7。0及以上)的屏幕取词。如果不能抓取PDF页面上的文字,请检查以下可能的原因:

  1. 检查使用的是否是GetWordv2。0及以上的版本,GetWordv1。x不支持PDF屏幕取词;
  2. 检查是否已正确安装了PDF屏幕取词插件。安装以前,请先关闭AdobeAcrobat/AcrobatReader,然后运行GetWord的工具程序install_plugin。exe安装PDF屏幕取词插件;
  3. 如果您当前使用的是AcrobatProfessional,它附带了一个Autotray。exe程序,请检查是否该程序正在运行。如果正在运行,从进程管理器中杀掉此进程,然后重新运行install_plugin。exe工具程序安装PDF屏幕取词插件;
  4. 您正在抓取的文字是图片格式。GetWord不能抓取图片中的文字;
  5. 您当前登录到操作系统中的是一个受限用户(limiteduseraccount),没有写入权限,不能够往AdobeAcrobat/AcrobatReader的插件目录中安装插件。请用管理员帐户(Administratoraccount)登录,然后重新运行install_plugin。exe工具程序安装PDF屏幕取词插件。在注册控件和安装PDF屏幕取词插件时,您需要以管理员身份运行。正确注册好控件并安装好PDF屏幕取词插件后,可以以一般用户身份运行。

Q20:我用GetWord抓取QQ的聊天记录,为什么抓取不了?
 A:部分杀毒软件和防火墙软件,存在误杀,会误把一些正常程序当作病毒或恶意程序。可能您的杀毒软件和防火墙软件误把GetWord判定为此类软件,从而造成GetWord不能正常抓词。请检查GetWord是否在您杀毒软件和防火墙软件的禁止列表中,如果在,解除禁止,并把GetWord添加到允许列表中即可。

此外,部分软件和防火墙软件,具有对某些特定程序的监控功能。比如,瑞星(一家中国的杀毒软件厂商)提供了一个叫“账号保险柜”的功能,可以监视常用的股票软件、聊天软件和网游软件。屏幕抓词必须要向被抓词的程序中注入代码,才能取到相应程序里的文本。如果开启了此类防护机制,将导致GetWord不能正常抓词。关闭相应的防护机制后,GetWord就可以正常取词了。以瑞星杀毒软件为例,具体操作步骤如下:1。启动瑞星的“账号保险柜”,打开“账号保险柜”设置;2。在左侧的软件列表中选择“聊天类”,然后在右侧面板中,去除“QQ”复选框的选择标志,然后单击"应用"(请参考Pic。4)。这样就可以利用GetWord对QQ正常取词了。 Pic.4

如令 在您身边

产品方案售前咨询一线通

产品方案售前咨询一线通


    即刻致电:
    400-650-3616
    010-88135135

    Content navigation