zurzeit zpl Datei an einen Drucker mit dieser Art und Weise schicke ich:Wie kann ich wissen, wenn der Druckvorgang mit dem Befehl copy zum Drucker localhost erfolgreich abgeschlossen wurde?
/C copy /B zplFile.zpl \\localhost\GX420d
In C# verwende ich diesen Code:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = processName; //cmd
startInfo.Arguments = string.Format(processArgument, "tmp.txt");
process.StartInfo = startInfo;
process.Start();
Alles funktioniert gut, das Problem ist, dass ich nicht ein Handshake, um zu wissen, wann der Druckvorgang erfolgreich abgeschlossen wurde, z. B. wenn ich eine zpl-Datei sende und der Drucker keine Etiketten hat oder diskontiert ist, setzt das System, das den Befehl ausführt, voraus, dass der Druckvorgang erfolgreich abgeschlossen wurde.
Ich muss wissen, ob das Etikett erfolgreich gedruckt wurde.
HINWEIS1: Der Drucker ist ein GX420d mit einem USB-Kabel.
Irgendwelche Vorschläge?
Danke in fortgeschrittenem.
Schnitt:
Wenn Sie in dem Bild unten sehen, gibt es anstehende Aufträge zu drucken, na ja, vielleicht als workarround ich in dieser Liste kann mit C#, ist das möglich?
Es gibt 2 Methoden zu überprüfen, zuerst überprüfen ReturnCode (0 ist Erfolg, sonst etwas falsch), oder die StandardOutput/StandardError zeigt etwas, wie ein Wort "Fehler in ....". –
Meinst du das im C# -Code? Die process.Start() -Methode gibt einen wahren Wert zurück. –
Ich meine, überprüfen Sie diese Eigenschaften: https://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode(v=vs.110).aspx https://msdn.microsoft.com/ de-de/library/system.diagnostics.process.standardoutput (v = vs.110) .aspx https://msdn.microsoft.com/en-us/library/system.diagnostics.process.standarddror(v=vs.110).aspx –