InkRecognizer.SetAsHighestPriorityInkRecognizer-Methode
Ordnet diesemInkRecognizer die höchste Priorität in der internen geordneten InkAnalyzer-Liste von Erkennungsmodulen fest.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Syntax
'Declaration
Public Sub SetAsHighestPriorityInkRecognizer
'Usage
Dim instance As InkRecognizer
instance.SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public:
void SetAsHighestPriorityInkRecognizer()
public void SetAsHighestPriorityInkRecognizer()
public function SetAsHighestPriorityInkRecognizer()
Hinweise
Jedes Erkennungsmodul enthält Werte, die die von diesem Modul unterstützten Sprachen und Fähigkeiten beschreiben. Durch die Zusammenstellung der verfügbaren Erkennungsmodule in einer geordneten Liste, kann der InkAnalyzer das zu verwendende Erkennungsmodul bestimmen, wenn zwei oder mehr Erkennungsmodule die gleiche Sprache und die gleichen Fähigkeiten unterstützen. Der InkAnalyzer speichert eine interne geordnete Liste von Erkennungsmodulen. Die interne geordnete Liste wird bei jedem Aufruf dynamisch aufgefüllt.
Hinweis
Wenn das Leistungsverhalten wegen des Zugriffs auf die Registrierung zu wünschen lässt, kann der Zugriff auf die Registrierung beschränkt werden, sodass die Registrierungswerte nur beim Erstellen des InkAnalyzer überprüft werden.
Die interne Liste wird nach der folgenden Logik geordnet:
Prüfen, ob die Systemsteuerungsanwendung eine Reihenfolge festgelegt hat, indem die Werte der "Recognizers Precedence"-Registrierungsschlüssel überprüft werden:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TPG\Recognizers Precedence"
Alle Erkennungsmodule werden als Registrierungsunterschlüssel nach GUID aufgeführt.
Jeder Registrierungsunterschlüssel verfügt über einen Dword-Wert namens "Order", der eine mit Null beginnende Reihenfolge festlegt (0 = erstes zu verwendendes Erkennungsmodul, 1 = zweites zu verwendendes Erkennungsmodul … n = letztes zu verwendendes Erkennungsmodul).
Wenn der "Recognizers Precedence"-Schlüssel nicht existiert oder beschädigt ist, fahren Sie einfach mit dem nächsten Schritt fort.
Durch Überprüfen der "System Recognizer"-Registrierungsschlüssel feststellen, ob alle installierten Erkennungsmodule von Microsoft in der geordneten Liste aufgeführt sind. Wenn ein auf dem System befindliches Erkennungsmodul von Microsoft nicht in der geordneten Liste enthalten ist, wird es in der gefundenen Reihenfolge an das Ende der Liste angefügt.
Durch Überprüfen der "Recognizer"-Registrierungsschlüssel feststellen, ob alle installierten externen Erkennungsmodule (von Drittanbietern) in der geordneten Liste aufgeführt sind. Wenn ein auf dem System befindliches externes Erkennungsmodul nicht in der geordneten Liste enthalten ist, wird es in der gefundenen Reihenfolge an das Ende der Liste angefügt.
Sobald die Standardreihenfolge erstellt wurde, können die Anwendungen die Standardreihenfolge ändern oder überschreiben, indem sie diese Methode aufrufen und das Erkennungsmodul an den Listenanfang verschieben.
Die Verwendung der Erkennungsmodule wird anhand der Reihenfolge in dieser Liste bewertet.
Der Parser beginnt mit dem Erkennungsmodul, das in der Liste an erster Stelle steht.
Das erste Erkennungsmodul wird daraufhin überprüft, ob es die Sprache und Funktionen der zu erkennenden Freihandeingaben unterstützt.
Werden diese unterstützt, wird das Erkennungsmodul verwendet.
Werden sie nicht unterstützt, dann wird das nächste Erkennungsmodul in der Liste überprüft. Die Liste wird solange durchlaufen, bis ein Erkennungsmodul gefunden wird oder das letzte Listenelement erreicht wurde.
Wenn kein Erkennungsmodul gefunden wird, wird die TPG_No_Suitable_Recognizer_Found-Ausnahme zurückgegeben.
Beispiele
In diesem Beispiel werden alle InkRecognizer-Module überprüft, die für ein InkAnalyzer-Objekt zur Verfügung stehen. Wenn das InkRecognizer-Modul die Sprach-ID 1031 (Deutsch) unterstützt, wird es als Erkennungsmodul mit der höchsten Priorität festgelegt.
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();
}
}
}
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0