LocalPrintServer.DefaultPrintQueue Property


Gets or sets the default print queue.

Namespace:   System.Printing
Assembly:  System.Printing (in System.Printing.dll)

Public Property DefaultPrintQueue As PrintQueue

Property Value

Type: System.Printing.PrintQueue

The PrintQueue that is designated as the default queue for the local computer.

Your application will have only UsePrinter access to the default queue, even if you have AdministrateServer rights to the print server. To open the queue with greater access, use one of the PrintQueue constructors that enables you to specify the desired access level.

The following example shows how to use this property in code that will install a second printer that differs in its properties from an existing printer only in location, port, and shared status.

Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }

' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")

.NET Framework
Available since 3.0
Return to top