我尝试了各种方法来通过C#运行此特定DOS命令。我不想使用批处理文件。无论我尝试什么,它始终仅从打印机名称中提取第一个单词,而不是整个名称,在这种情况下,它表示未连接打印机POS,而不是未连接打印机Lexmark。错误可能是什么?多谢你们!

DOS命令是:

rundll32 printui, PrintUIEntry /o /n "POS Lexmark"


我的代码如下:

string command = string.Format("/c rundll32 printui, PrintUIEntry /o /n" + " POS Lexmark");
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe");
cmdsi.Arguments = command;
cmdsi.CreateNoWindow = false;
Process cmd = Process.Start(cmdsi);

最佳答案

您忘了在POS Lexmark周围加上引号:

string command = string.Format("/c rundll32 printui, PrintUIEntry /o /n" + "\" POS Lexmark\"");

09-08 07:47