你可以使用一个UTF-8字符串作为StartInfo的参数吗?Process.StartInfo.Arguments是否支持UTF-8字符串?
我想通过一个UTF-8(在这种情况下是一个日文字符串)作为控制台参数的应用程序。
像这样的东西(这只是一个例子!(cmd.exe的将是一个自定义应用程序))
var process = new System.Diagnostics.Process();
process.StartInfo.Arguments = "/K \"echo これはテストです\"";
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = true;
process.Start();
process.WaitForExit();
执行这个看似松散的UTF-8字符串和所有的目标应用程序看到的是“回声?????????“
当直接在命令行上执行此命令(通过粘贴参数)时,即使命令行本身似乎无法正确显示,目标应用程序也会正确接收该字符串。
我是否需要做任何特殊的事情来在参数中启用UTF-8支持,或者这只是不受支持?
是否通过使用Process和ProcessStartInfo启动应用程序或直接从命令行将参数传递到应用程序? – 2010-04-13 10:18:40
我使用了Process/ProcessStartInfo - 我只将“cmd.exe”更改为“test.exe”,这是我的WinForms应用程序。 – 2010-04-13 11:20:49