I'm trying to Disable Advanced Printing Features (RawOnly) with C#. I can list all printers:
foreach (string printer in PrinterSettings.InstalledPrinters)
{
Console.WriteLine(printer);
}
I can Read RawOnly feature:
PrintQueueAttributes[] queueAttributes = { PrintQueueAttributes.RawOnly };
EnumeratedPrintQueueTypes[] enumerationFlags = { EnumeratedPrintQueueTypes.RawOnly };
LocalPrintServer printServer = new LocalPrintServer();
PrinterSettings settings = new PrinterSettings();
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues();
foreach (PrintQueue printer in printQueuesOnLocalServer)
{
Console.WriteLine("\tThe printer " + printer.Name + "is Advanced Printing Features enabled" + printer.IsRawOnlyEnabled + "\n");
}
Console.WriteLine("Press enter to continue.");
Console.ReadLine();
But I don't know hot to Set RawOnly feature. Could you help me with that. Thank you.
Additional information about EnumeratedPrintQueueTypes https://msdn.microsoft.com/en-us/library/system.printing.enumeratedprintqueuetypes(v=vs.110).aspx
Additional information about PrintQueueAttributes https://msdn.microsoft.com/en-us/library/system.printing.printqueueattributes(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
P.S. I do not want to use Win32_Printer Class, because there is some problems with that.