關於我們
企業簡介
企業資質
企業文化
聯繫我們
誠聘英才
   新聞中心
公司新聞
產品資訊
所獲獎項
    產品中心
QCall
GetWord
典型案例
    產品訂購
產品購買
常見銷售問題
   技術支援
快速入門
下載試用
用戶回饋
常見技術問題
   招商加盟
代理商政策
加盟流程
 
   

您的位置:首  頁>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) 2006-2008 北京如令科技有限公司. All rights reserved. Terms of Use | Privacy Statement
ICP 06026970