Per ricavare la porta di una stampante in VS 2003 è possibile utilizzare WMI e in particolare la classe Win32_Printer :
Public Shared Function GetPrinterPortName(ByVal printerName As String) As String
Dim portName As String = String.Empty
Dim path As String = String.Format("Win32_Printer.DeviceID='{0}'", printerName)
Dim p As New System.Management.ManagementObject(path)
p.Get()
portName = p("PortName").ToString()
p.Dispose() : p =
Nothing
Return portName
End Function
Per utilizzare il codice occcore aggiungere un reference a System.Management.
In VS 2005 non ho trovato funzionalità native per ricavare la porta della stampante anche se inizialmente era previsto un My.Computer.Printers come si può leggere nel seguente articolo http://msdn.microsoft.com/msdnmag/issues/04/05/VisualBasic2005/ ma nella versione definitiva pare non sia poi stato implementato chissà se conteneva una funzionalità per ricavare le porte delle stampati?