关于我们
企业简介
企业资质
联系我们
    产品中心
GetWord
所获奖项
典型案例
    产品订购
产品购买
常见销售问题
   技术支持
产品下载
快速入门
开发API
常见技术问题
   

您的位置:首  页>GetWord>开发者专区>常见技术问题



Q1: GetWord支持哪些操作系统?
A: GetWord支持下列操作系统:
  1. Windows 2000系列: Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server
  2. Windows XP系列: Windows XP Home, Windows XP Professional
  3. Windows Server 2003系列
  4. Windows Vista系列: Windows Vista Starter, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows Vista Small Business, Windows Vista Professional, Windows Vista Enterprise

Back to top

Q2: GetWord支持哪些软件开发环境? 支持哪些编程语言?
A:
GetWord支持所有主流的软件开发环境,如Visual Studio 6.0, Visual Studio 2003, Visual Studio 2005, Delphi 7, C++ Builder等. GetWord支持所有主流的编程语言, 如C++, Visual Basic, Delphi等. 一般来讲, GetWord支持所有支持ActiveX或Raw Dll调用接口的软件开发环境和编程语言系统.
Back to top

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

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

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

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

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

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

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

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

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

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

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

Visual C++ 6.0 (VC6)

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

 

Pic.1

 

Pic.2

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

Visual Basic 6.0 (VB6)

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

Q193540: How To Read and Display UNICODE String on Visual Basic Form

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

Borland C++ Builder 6.0 (BCB6)

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

Borland Delphi 7.0 (Delphi7)

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

Visual C# 2005 (C#2005)

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

Visual Basic 2005 (VB2005)

VB 2005可以完全兼容Unicode, 无需做任何特别设置.

Visual C++ 2005 (VC2005)

用VC2005集成开发环境打开项目文件(*.sln). 在"Solution Explorer"视图中, 用右键单击项目,  从弹出的菜单中选择"Properties", 在"Property Pages"设置对话框的左侧选择"Configuration Properties"->"General", 在"Property Pages"设置对话框右侧的"Project Defaults"类别中,设置"Character Set"为"Use Unicode Character Set" (Pic.3), 单击"OK"按钮关闭对话框,然后重新编译项目.

Pic.3


Back to top

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

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

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

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

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

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

Q17: 我用Visual C++ 6.0生成Unicode版本的程序,链接器(linker)报告了如下错误:"libcmtd.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16". 这是什么原因导致的?应该如何修复这个错误?   
A:
您需要设置程序的入口点(Entry-point)函数. 请按以下步骤设置:  (请参阅 Q12 以获得进一步的信息)
1. 打开项目文件 (*.dsw)
2. 单击"Project"->"Settings..." 打开"Project Settings"对话框
3. 单击"Link"标签,在"Category"组合框下选择"Output"
4. 在"Entry-point symbol"编辑框中输入wWinMainCRTStartup
5. 单击"OK"关闭对话框,然后重新编译项目既可
Back to top

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

Q19: 我的GetWord版本不能进行PDF取词,这是怎么回事?
A:
GetWord支持各种版本的Adobe Acrobat Standard, Adobe Acrobat Professional, Adobe Acrobat Reader(7.0及以上)的屏幕取词. 如果不能抓取PDF页面上的文字,请检查以下可能的原因:
1. 检查使用的是否是GetWord v2.0及以上的版本, GetWord v1.x不支持PDF屏幕取词;
2. 检查是否已正确安装了PDF屏幕取词插件. 安装以前,请先关闭Adobe Acrobat/Acrobat Reader, 然后运行GetWord的工具程序install_plugin.exe安装PDF屏幕取词插件;
3. 如果您当前使用的是Acrobat Professional, 它附带了一个Autotray.exe程序, 请检查是否该程序正在运行. 如果正在运行, 从进程管理器中杀掉此进程, 然后重新运行install_plugin.exe工具程序安装PDF屏幕取词插件;
4. 您正在抓取的文字是图片格式. GetWord不能抓取图片中的文字;
5. 您当前登录到操作系统中的是一个受限用户(limited user account), 没有写入权限, 不能够往Adobe Acrobat/Acrobat Reader的插件目录中安装插件. 请用管理员帐户(Administrator account)登录, 然后重新运行install_plugin.exe工具程序安装PDF屏幕取词插件. 在注册控件和安装PDF屏幕取词插件时,您需要以管理员身份运行. 正确注册好控件并安装好PDF屏幕取词插件后, 可以以一般用户身份运行.
Back to top

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

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

Pic.4

Back to top

 

Copyright(c) 2005-2018 北京如令科技有限公司. All rights reserved. Terms of Use | Privacy Statement
ICP 06026970