如何从c#项目中调用另一个进程?

时间:2012-07-06 15:06:20

标签: c# wpf serial-port

是否可以从主程序调用某个进程(或exe),发送一些参数,完成一些处理并返回结果?如果可能,这是最好的方法吗?

我有一个用于管理工厂的wpf应用程序。该应用程序用于不同的工厂。唯一的区别是工厂中使用的称重串口通信是不同的。目前,称重部分已编程到应用程序中。但这很难维护,因为我必须有不同版本的项目取决于地磅。所以我想要这样:我有主要项目的单一版本。主项目调用另一个进程(或exe)并发送一些参数。这个exe进行称重并发回重量。 enter image description here

1 个答案:

答案 0 :(得分:1)

如果您拥有的是另一个exe文件,那么您可以使用它来运行(取自http://www.dotnetperls.com/process-start

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "dcm2jpg.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "-f j -o \"" + ex1 + "\" -z 1.0 -s y " + ex2;

try
{
        // Start the process with the info we specified.
        // Call WaitForExit and then the using statement will close.
        using (Process exeProcess = Process.Start(startInfo))
        {
           exeProcess.WaitForExit();
        }   
}
catch
{
    // Log error.
}