Немедленно приостановить задание печати на C#C#

Место общения программистов C#
Ответить
Anonymous
 Немедленно приостановить задание печати на C#

Сообщение Anonymous »

Я нашел такой способ запуска EventWatcher: подсчет напечатанных страниц клиентами с помощью C# и WMI
Мне нужно приостанавливать каждую печать при поступлении задания, и я добавляю этот код в WmiEventHandler:

Код: Выделить всё

string searchQuery = "SELECT * FROM Win32_PrintJob";
ManagementObjectSearcher searchPrintJobs = new ManagementObjectSearcher(searchQuery);
ManagementObjectCollection prntJobCollection = searchPrintJobs.Get();
foreach (ManagementObject prntJob in prntJobCollection)
{
String jobName = prntJob.Properties["Name"].Value.ToString();
//Job name would be of the format [Printer name], [Job ID]
char[] splitArr = new char[1];
splitArr[0] = Convert.ToChar(",");
string prnterName = jobName.Split(splitArr)[0];
int prntJobID = Convert.ToInt32(jobName.Split(splitArr)[1]);
string documentName = prntJob.Properties["Document"].Value.ToString();
prntJob.InvokeMethod("Pause", null);
}
Но этот способ слишком медленный, чтобы приостановить задание, я хочу найти способ приостановить текущее задание печати, когда ManagementEventWatcher наблюдает.

Подробнее здесь: https://stackoverflow.com/questions/408 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»