gpt4 book ai didi

c# - 如何从 .NET WPF 运行 C 程序的 .exe?

转载 作者:行者123 更新时间:2023-11-30 19:06:26 24 4
gpt4 key购买 nike

我想从我的 WPF 应用程序运行用 C 语言编写的“pocketsphinx_continuous.exe”程序。目前我使用命令提示符运行它。 pocketsphinx_continuous.exe 需要参数。

命令将是这样的。打开cmd,进入pocketsphinx_continuous.exe所在文件夹并运行,

pocketsphinx_continuous.exe -infile test\data\goforward.raw -hmm model\en-us\en-us -lm model\en-us\en-us.lm.bin -dict model\en-us\cmudict-en-us.dict

程序在命令提示符下打印一个字符串。相反,我想将此字符串获取到我的 WPF 应用程序。

假设,对于单击按钮,我想运行上面的程序并将结果字符串获取到同一窗口中的文本框。运行 C 程序应该在后台进行。

我应该怎么做?我是否必须在 C 和 WPF 应用程序之间编写服务?

最佳答案

您必须使用Process.Start()启动进程并重定向其控制台输出。甚至可以在后台执行此操作并隐藏控制台窗口。

创建一个像这样的新流程:

var process = new Process 
{
StartInfo = new ProcessStartInfo
{
FileName = "pocketsphinx_continuous.exe",
Arguments = "-infile test\data\goforward.raw -hmm model\en-us\en-us -lm model\en-us\en-us.lm.bin -dict model\en-us\cmudict-en-us.dict",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};

现在您可以启动该进程并重定向控制台输出:

process.Start();
while (!proc.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
}

line 将包含程序输出的一行,您可以用它做任何您想做的事情。

关于c# - 如何从 .NET WPF 运行 C 程序的 .exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com