有时候dll不能引用,那就只能另外做一个exe程序,然后通过调用这个程序就可以解决问题,但往往需要在本地生成一个中间数据。虽然有name一点麻烦,但也挺好用。
这里就是一个调用外部程序的方法。这里直接调用cmd,写入参数,注意带上exit
public string RunExeByProcess(string argument)
{
//开启新线程
System.Diagnostics.Process process = new System.Diagnostics.Process();
//调用的exe的名称
process.StartInfo.FileName = "cmd.exe";
//传递进exe的参数
process.StartInfo.Arguments = argument;
process.StartInfo.UseShellExecute = false;
//不显示exe的界面
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
//向cmd窗口发送输入信息
process.StandardInput.WriteLine(argument + "&exit");
process.StandardInput.AutoFlush = true;
string result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
return result;
}