在辨識器的 InkAnalyzer 內部排序清單中,將這個 InkRecognizer 設定為最高優先權。
命名空間: Microsoft.Ink
組件: Microsoft.Ink.Analysis (在 Microsoft.Ink.Analysis.dll 中)
語法
'宣告
Public Sub SetAsHighestPriorityInkRecognizer
'用途
Dim instance As InkRecognizer
instance.SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public:
void SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public function SetAsHighestPriorityInkRecognizer()
備註
每個辨識器都包含描述其支援之語言和支援之功能的值。透過將可用的辨識器組織成排序清單,InkAnalyzer 便可在兩個以上的辨識器同時支援相同的語言和功能時,決定要使用哪一個辨識器。InkAnalyzer 會儲存辨識器的內部排序清單。每次呼叫它時,都會動態填入這份內部排序清單。
注意事項: |
|---|
如果因為存取登錄導致效能低落,我們可以將這項作業限制成只在建立 InkAnalyzer 時檢查登錄。 |
內部清單將依據下列邏輯進行排序:
查看 “Recognizers Precedence” 登錄機碼 (Registry Key) 的值,確認控制台應用程式是否已設定排序:
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TPG\Recognizers Precedence”
每個辨識器都會按照 GUID 列為登錄子機碼。
每個登錄子機碼都有一個名稱為 “Order” 的 DWORD 值,這個值採用以零起始的排序 (0= 要使用的第一個辨識器,1= 要使用的第二個辨識器… n = 要使用的最後一個辨識器)。
如果 “Recognizers Precedence” 機碼不存在或是已損毀,請直接跳到下一個步驟。
檢查 “System Recognizer” 登錄機碼,確認排序清單中是否顯示已安裝的所有 Microsoft 辨識器。如果在系統上找到尚未包含在排序清單中的任何 Microsoft 辨識器,便會按照找到的順序,將這些辨識器加入至清單的結尾處。
檢查 “Recognizer” 登錄機碼,確認排序清單中是否顯示已安裝的所有外部 (協力廠商) 辨識器。如果在系統上找到尚未包含在排序清單中的任何外部辨識器,便會按照找到的順序,將這些辨識器加入至清單的結尾處。
建立預設排序之後,應用程式即可透過呼叫這個方法,並將辨識器提升至清單頂端,以變更或覆寫預設排序。
系統將會根據辨識器在清單中的順序,評估這些辨識器的用法:
剖析器會從清單中的第一個辨識器開始。
系統會測試第一個辨識器,確定它是否支援正在辨識之筆墨的語言和功能。
如果支援,則會使用該辨識器。
如果不支援,便會檢查第二個辨識器。系統將繼續逐一查看清單,直到找到辨識器,或是檢查完清單為止。
如果找不到辨識器,則會傳回 TPG_No_Suitable_Recognizer_Found 例外狀況 (Exception)。
範例
這個範例會檢查可用於 InkAnalyzer 物件的每個 InkRecognizer。如果 InkRecognizer 支援語言 ID 1031 (德文),就會將它設定為優先權最高的辨識器。
Dim allInkRecognizers As InkRecognizerCollection = mInkAnalyzer.GetInkRecognizersByPriority()
For Each IR As InkRecognizer In allInkRecognizers
For Each langID As Integer In IR.GetLanguages()
If langID = 1031 Then
IR.SetAsHighestPriorityInkRecognizer()
End If
Next
Next
InkRecognizerCollection allInkRecognizers = mInkAnalyzer.GetInkRecognizersByPriority();
foreach (InkRecognizer IR in allInkRecognizers)
{
foreach(int langID in IR.GetLanguages())
{
if (langID == 1031)
{
IR.SetAsHighestPriorityInkRecognizer();
}
}
}
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
注意事項: