Я создал приложение для диспетчера очереди печати для печати в формате PDF асинхронно.Процесс WaitForExit не ждет
(Приложение использует команду VeryPDF для печати с сетевого принтера)
Вот код
var procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", " /c" + "E:\pdfprint_cmd\pdfprint.exe -$ 388444444448350FA394 E:\PrintSpoolerApplication\PrintSpoolerApplication\bin\Debug\45940.pdf");
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
procStartInfo.Verb = "runas";
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
var proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
proc.WaitForExit();
// Some stuff
Но это не Надейся на WaitForExit кода. Он выполнял (здесь // некоторые вещи), даже если мой документ находится в очереди принтера.
Есть ли другой способ, который уведомляет о завершении печати?
знают также, что если вы попробуйте открыть вручную консоль и выполнить вашу команду, если консоль сразу дает Вам подсказку, даже если программа, которую вы казнены продолжает работать, то ваш код WaitForExit будет ждать только для 'cmd' (консоль) для выхода, а не в другую программу. –
Кроме того, вы не избегаете обратных косых черт, так что: '' E: \ p ... 'скорее всего будет' @ "E: \ p ...'. –
Спасибо за ответ @ LasseV.Karlsen.но я не получаю никаких ошибок, и процесс печати выполняется без каких-либо ошибок. – Munavvar