Option Explicit
Private Sub Command1_Click()
Dim wmgts As Object
Dim myPrinters As Object
Dim APrinter As Object
Dim li As ListItem
Dim lstrPrintServer as String
lstrPrintServer = "localhost"
Set wmgts = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & lstrPrintServer)
For Each APrinter In wmgts.instancesof("Win32_Printer")
Set li = Me.ListView1.ListItems.Add(, , APrinter.Name)
li.SubItems(1) = APrinter.portname
li.SubItems(2) = APrinter.comment & vbNullString
Next
End Sub
Private Sub Form_Load()
Me.ListView1.ColumnHeaders.Clear
Me.ListView1.ColumnHeaders.Add , , "Name", 3435.024
Me.ListView1.ColumnHeaders.Add , , "Port", 3195.213
Me.ListView1.ColumnHeaders.Add , , "Comments", 4196.764
Me.ListView1.Left = 0
Me.ListView1.View = lvwReport
End Sub
Private Sub Form_Resize()
Me.ListView1.Width = Me.Width
End Sub