我需要一个不直接打印的打印机列表。获得一个可以直接打印的列表似乎相当容易。但是如何做相反的事情呢?
Dim PrintServer As New SysPrint.PrintServer
Dim arrFlags(0) As SysPrint.EnumeratedPrintQueueTypes
arrFlags(0) = System.Printing.EnumeratedPrintQueueTypes.DirectPrinting
Dim QColl As SysPrint.PrintQueueCollection = PrintServer.GetPrintQueues(arrFlags)
MSDN 说 EnumeratedPrintQueueTypes 有一个 FlagsAttribute 属性,它允许按位组合其成员值。所以我应该能够以某种方式指定不直接。我该怎么做?
我试图这样做,arrFlags(0) = Not System.Printing.EnumeratedPrintQueueTypes.DirectPrinting
但没有返回任何结果。显然不正确。
那么如何操作 flags 属性来消除所有直接打印的打印机呢?