如何隐藏由于此过程而创建的CMD窗口



我正试图运行一个可执行文件作为程序的一部分,该文件将作为事件处理程序中的重复调用。目前,被注释掉的第一行和最后一行按原样运行可执行文件,我遇到的问题是试图使其运行,以便用户可以选择在弹出时隐藏此可执行文件(用单选按钮完成)

Console.WriteLine("Generated Instruction: " + arguments);                           
//var proc = System.Diagnostics.Process.Start(chartLocation + @"MODUS CHaRT CMD.exe", arguments ); // Run Command Line instruction
Process myProc = new Process();
if (hideChartStatus)  /* make the process invisible */
{
try
{
myProc.StartInfo.CreateNoWindow = true;
myProc.StartInfo.UseShellExecute = false;
Console.WriteLine("Invisible CHART window generated");
}
catch
{
Console.WriteLine("Could not hide CHaRT window");
}                
}
else
{
myProc.StartInfo.CreateNoWindow = false;
}
myProc.StartInfo.WorkingDirectory = chartLocation;
myProc.StartInfo.FileName = "\MODUS CHaRT CMD.exe";
myProc.StartInfo.Arguments = arguments;
myProc.Start();
//myProc = myProc.Start(chartLocation + @"MODUS CHaRT CMD.exe", arguments);
//proc.WaitForExit();
myProc.WaitForExit();

这是我到目前为止所得到的,但我犯了错误"System.ComponentModel.Win32异常:'系统找不到指定的文件'">

在myProc.start();

我猜这和我如何使用文件名和工作目录有关?

有人知道正确的语法吗?

大家别理我,我是个白痴。

更准确地基于这里所做的工作:https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.process.start?view=netframework-4.7.2

正确的用法是:

//myProc.StartInfo.WorkingDirectory = chartLocation;
myProc.StartInfo.FileName = chartLocation + @"MODUS CHaRT CMD.exe";
myProc.StartInfo.Arguments = arguments;
myProc.Start();

相关内容

  • 没有找到相关文章

最新更新