我尝试了各种方法来通过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\"");