1

我想在我的应用程序中打开 windows sapi train 窗口。

我发现这个进程的文件路径是“C:\Windows\System32\Speech\SpeechUX\SpeechUXWiz.exe”。但是当我尝试通过双击打开它时,它失败了。我尝试通过进程在我的应用程序中打开这个文件。 start() 方法也会失败。

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

有人知道怎么打开吗?sapi中是否有接口可以做到这一点?谢谢!

我的系统是windows7 x64。

4

1 回答 1

4

不要直接启动进程;命令行的细节是依赖于版本的(事实上,进程本身可能会随着版本的变化而变化)。

您可以使用 Speechlib(与 SAPI IDispatch 兼容的 API)开始训练(在 C# 中)。看看ISpeechRecognizer::DisplayUI

要使用 SpeechLib,请添加

using SpeechLib;

到您的代码,并添加一个引用(通过项目/添加引用/COM)到Microsoft Speech Object Library您的项目。

然后,要开始训练,您将拥有一些如下所示的代码:

static void RunTraining()
{
    SpSharedRecoContext RC = new SpSharedRecoContext();
    string Title = "My App's Training";
    ISpeechRecognizer spRecog = RC.Recognizer;
    spRecog.DisplayUI(hWnd, Title, SpeechLib.SpeechStringConstants.SpeechUserTraining, "");
}
于 2013-11-17T07:33:14.377 回答