当我通过输入CMD将服务手动添加到windows时,如下所示:
"C:\Program (x86)\Windows Kits\Tools\instsrv.exe“”若干-Programąźńćńół“"C:\Program (X86)\WindowsResourceKits\Tools\srvany.exe”
..。所有的服务名称都很好,但是当我尝试在c#中这样做时:
ProcessStartInfo startInfo = new ProcessStartInfo();
Process myprocess = new Process();
startInfo.FileName = "cmd";
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
myprocess.StartInfo = startInfo;
myprocess.Start();
StreamWriter sw = myprocess.StandardInput;
StreamReader sr = myprocess.StandardOutput;
Thread.Sleep(200);
string command = ...
^ "C:\Program Files (x86)\Windows Resource Kits\Tools\instsrv.exe" "some-pl-char-ąźńćńół" "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"
sw.WriteLine(command);
sw.WriteLine("exit");
Thread.Sleep(200);
sw.Close();
sr.Close();那么所创建服务的名称是: of char-轊˝ˇ-
为什么代码页有问题?
有类似于StandardInputEncoding的ProcessStartInfo吗?
我在CMD中的活动代码页(使用chcp)是852。(波兰语)
发布于 2011-06-08 17:49:39
我也有过类似的问题。虽然我与VB.net合作,但它解决了我的问题。除非设置了这个命令,否则我无法运行这个命令。
startInfo.FileName = "cmd.exe /c"; 而不是
startInfo.FileName = "cmd"; https://stackoverflow.com/questions/6282954
复制相似问题