Как открыть окно sapi train в приложении aС#?

Я хочу открыть окно окна окна sapi в моем приложении.

Я нахожу, что этот путь к файлу процесса "C:\Windows\System32\Speech\SpeechUX\SpeechUXWiz.exe". Но когда я пытаюсь открыть его с помощью dobule click, он не работает. Я пытаюсь открыть этот файл в своем приложении по процессу. Метод start() также будет сбой.

Process.Start(@"C:\Windows\System32\Speech\SpeechUX\SpeechUXWiz.exe");

Кто-нибудь знает, как его открыть? Есть ли интерфейс, чтобы сделать это в sapi? Спасибо!

Моя система - windows7 x64.

1 ответ

Не начинайте процесс напрямую; детали командной строки зависят от версии (и, фактически, сам процесс может меняться от версии к версии).

Вы можете начать обучение (на С#) с помощью speechlib (API, совместимый с SAPI IDispatch). Посмотрите на ISpeechRecognizer :: DisplayUI.

Чтобы использовать SpeechLib, добавьте

using SpeechLib;

к вашему коду и добавьте ссылку (через Project/Add Reference/COM) в Microsoft Speech Object Library в свой проект.

Затем, чтобы начать обучение, у вас будет код, который выглядит следующим образом:

static void RunTraining()
{
 SpSharedRecoContext RC = new SpSharedRecoContext();
 string Title = "My App Training";
 ISpeechRecognizer spRecog = RC.Recognizer;
 spRecog.DisplayUI(hWnd, Title, SpeechLib.SpeechStringConstants.SpeechUserTraining, "");
}

licensed under cc by-sa 3.0 with attribution.