c# Winform 调用可执行 exe 文件


c#是一个写windows桌面小工具的好东西,但有个时候,我们需要在 winform 程序中调用其他的 exe 文件,那么该如何实现呢?

如果只是拉起一个 exe 文件,可以参考如下方法实现:

string exefile = "xxx.exe";
if (File.Exists(exefile)) {
    Process process = new Process();
   // params 为 string 类型的参数,多个参数以空格分隔,如果某个参数为空,可以传入”” ProcessStartInfo startInfo
= new ProcessStartInfo(exefile, params); process.StartInfo = startInfo; process.Start(); }

如果不想弹出系统的dos界面,可以参考如下方式实现:

string exefile = "xxx.exe";
if (File.Exists(exefile)) {
    Process process = new Process();
    ProcessStartInfo startInfo = new ProcessStartInfo(exefile, path);
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true; process.StartInfo
= startInfo; process.Start(); process.WaitForExit(2000); string output = process.StandardOutput.ReadToEnd(); rtb_analyze.Text = output; process.Close(); }

当然还有异步方式:

public void exec(string exePath, string parameters)
{
    Process process = new System.Diagnostics.Process();
    process.StartInfo.FileName = exePath;
    process.StartInfo.Arguments = parameters;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;
    process.StartInfo.RedirectStandardOutput = true;
    process.Start();
    process.BeginOutputReadLine();
    process.OutputDataReceived += new  DataReceivedEventHandler(processOutputDataReceived);
}

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM