共用方式為


InkRecognizerBase.SetAsHighestPriorityInkRecognizer 方法

在辨識器的 InkAnalyzerBase 內部排序清單中,將這個 InkRecognizerBase 設定為最高優先權。

命名空間:  System.Windows.Ink.AnalysisCore
組件:  IACore (在 IACore.dll 中)

語法

'宣告
Public Sub SetAsHighestPriorityInkRecognizer
'用途
Dim instance As InkRecognizerBase

instance.SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public:
void SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public function SetAsHighestPriorityInkRecognizer()

備註

每個辨識器都包含描述其支援之語言和支援之功能的值。透過將可用的辨識器組織成排序清單,InkAnalyzerBase 便可在兩個以上的辨識器同時支援相同的語言和功能時,決定要使用哪一個辨識器。InkAnalyzerBase 會儲存辨識器的內部排序清單。每次呼叫它時,都會動態填入這份內部排序清單。

ms615415.alert_note(zh-tw,VS.90).gif注意事項:

如果因為存取登錄導致效能低落,我們可以將這項作業限制成只在建立 InkAnalyzerBase 時檢查登錄。

內部清單將依據下列邏輯進行排序:

  1. 查看 “Recognizers Precedence” 登錄機碼 (Registry Key) 的值,確認控制台應用程式是否已設定排序:

    1. “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TPG\Recognizers Precedence”

    2. 每個辨識器都會按照 GUID 列為登錄子機碼。

    3. 每個登錄子機碼都有一個名稱為 “Order” 的 DWORD 值,這個值採用以零起始的排序 (0= 要使用的第一個辨識器,1= 要使用的第二個辨識器… n = 要使用的最後一個辨識器)。

    4. 如果 “Recognizers Precedence” 機碼不存在或是已損毀,請直接跳到下一個步驟。

  2. 檢查 “System Recognizer” 登錄機碼,確認排序清單中是否顯示已安裝的所有 Microsoft 辨識器。如果在系統上找到尚未包含在排序清單中的任何 Microsoft 辨識器,便會按照找到的順序,將這些辨識器加入至清單的結尾處。

  3. 檢查 “Recognizer” 登錄機碼,確認排序清單中是否顯示已安裝的所有外部 (協力廠商) 辨識器。如果在系統上找到尚未包含在排序清單中的任何外部辨識器,便會按照找到的順序,將這些辨識器加入至清單的結尾處。

建立預設排序之後,應用程式即可透過呼叫這個方法,並將辨識器提升至清單頂端,以變更或覆寫預設排序。

系統將會根據辨識器在清單中的順序,評估這些辨識器的用法:

  • 剖析器會從清單中的第一個辨識器開始。

  • 系統會測試第一個辨識器,確定它是否支援正在辨識之筆墨的語言和功能。

  • 如果支援,則會使用該辨識器。

  • 如果不支援,便會檢查第二個辨識器。系統將繼續逐一查看清單,直到找到辨識器,或是檢查完清單為止。

  • 如果找不到辨識器,則會傳回 TPG_No_Suitable_Recognizer_Found 例外狀況 (Exception)。

平台

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkRecognizerBase 類別

InkRecognizerBase 成員

System.Windows.Ink.AnalysisCore 命名空間