已解决 |// 在CMD中执行命令[C#]

Resolved |// Execute command in CMD [C#]

所以基本上,我想在 cmd 中执行一个命令,因为我需要从它打开画图,我试过的代码:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C mspaint.exe, openFileDialog1.FileName;"
process.StartInfo = startInfo;
process.Start();

有人可以帮助我吗?我想用用户选择的 png 文件执行绘画。

感谢 Trevor 的帮助,也许其他代码可以工作。

            System.Diagnostics.Process process = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName = "cmd.exe";
            startInfo.Arguments = "/C mspaint.exe, " + openFileDialog1.FileName;
            process.StartInfo = startInfo;
            process.Start();

代码运行良好

要使用 mspaint 打开特定文件,您可以将文件路径指定为参数(不带任何逗号):

mspaint <filePath>

您可以根据代码执行以下操作:

Process proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "cmd.exe",
        Arguments = $"/C mspaint.exe {openFileDialog1.FileName}",
        WindowStyle = ProcessWindowStyle.Hidden
    }
};

proc.Start();

来自

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C mspaint.exe, " + openFileDialog1.FileName;
process.StartInfo = startInfo;
process.Start();