C# process 使用方法

public static string ExecuteAaptCommand(string appName, string command)
{
string result = string.Empty;
string error = string.Empty;
try
{
using (Process process = new Process())
{
process.StartInfo.FileName = appName; // 设定程序名称。
process.StartInfo.Arguments = command; // 设定程序参数。
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.StandardOutputEncoding = Encoding.UTF8; //设置标准输出编码
process.StartInfo.CreateNoWindow = true; // 不显示窗口。
process.Start();

result = process.StandardOutput.ReadToEnd();
error = process.StandardError.ReadToEnd();

Console.WriteLine("Command: " + command + "\r\n" + result);

process.WaitForExit();

process.Close();
}
}
catch(Exception ex)
{
throw ex;
}
return result;
}

 

windows系统下 cmd 命令默认输出cp936编码,即gb2312.

process.StartInfo.StandardOutputEncoding = Encoding.UTF8; 这句,将编码设置成utf-8,保证中文不会乱码。

"aapt.exe d badging xxx.apk > xxx.txt"  将输出结果输出到xxx.txt中。

posted on 2014-12-08 16:06  由来已久  阅读(3057)  评论(0编辑  收藏  举报

导航