Author:
水如烟
Imports
System.DirectoryServices
Imports
System.Management
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
Public
Class HowToSearchPrinter
Class HowToSearchPrinter
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Public Shared Function NetPrinters()Function NetPrinters(ByVal GetWay As GetComputer) As String()
Dim mResult(-1) As String
Dim mPrinterFormat As String = "Computer:{0} Printer:{1}"
Dim mNetComputerNames(-1) As String
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Select Case GetWay
Case GetComputer.Simple
mNetComputerNames = GetNetComputerNames()
Case GetComputer.Ping
mNetComputerNames = GetNetComputerNamesByPing()
End Select
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
For Each mComputer As String In mNetComputerNames
For Each mPrinter As String In GetPrinterName(mComputer)
ReDim Preserve mResult(mResult.Length)
mResult(mResult.Length - 1) = String.Format(mPrinterFormat, mComputer, mPrinter)
Next
Next
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Return mResult
End Function
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
'这里不保证得到所有的计算机
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Private Shared Function GetNetComputerNames()Function GetNetComputerNames() As String()
Dim mResult(-1) As String
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Dim root As DirectoryEntry = New DirectoryEntry("WinNT:")
For Each Domain As DirectoryEntry In root.Children
'枚举工作组或域
For Each Computer As DirectoryEntry In Domain.Children
'枚举指定工作组或域的计算机
If Computer.SchemaClassName.Equals("Computer") Then
ReDim Preserve mResult(mResult.Length)
mResult(mResult.Length - 1) = Computer.Name
End If
Next
Next
Return mResult
End Function
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
'这倒是可以得到所有的计算机,可是也太慢了
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Private Shared Function GetNetComputerNamesByPing()Function GetNetComputerNamesByPing() As String()
If Not My.Computer.Network.IsAvailable Then Return Nothing
Dim Result(-1) As String
Dim PingFormat As String = "192.168.0.{0}"
For i As Integer = 1 To 254
If My.Computer.Network.Ping(String.Format(PingFormat, i), 100) Then
ReDim Preserve Result(Result.Length)
Result(Result.Length - 1) = Net.Dns.GetHostEntry(String.Format(PingFormat, i)).HostName '这个方法是Net2.0
End If
Next
Return Result
End Function
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Private Shared Function GetPrinterName()Function GetPrinterName(ByVal computerName As String) As String()
Dim mResult(-1) As String
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Dim o As New ManagementObject
o.Scope = New ManagementScope(String.Format("//{0}/root/cimv2", computerName))
Dim mSearch As New ManagementObjectSearcher(String.Format("SELECT DeviceID FROM {0}", "Win32_Printer"))
mSearch.Scope = o.Scope
Try
For Each mManagementObject As ManagementObject In mSearch.Get()
ReDim Preserve mResult(mResult.Length)
mResult(mResult.Length - 1) = System.Text.RegularExpressions.Regex.Replace(mManagementObject.ToString, ".*""(.*)""", "${1}")
Next
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
mSearch.Dispose()
o.Dispose()
End Try
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Return mResult
End Function
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Public Enum GetComputerEnum GetComputer
Simple
Ping
End Enum
End Class
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
测试:
Private
Sub Button1_Click()
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each s As String In HowToSearchPrinter.NetPrinters(HowToSearchPrinter.GetComputer.Simple)
Console.WriteLine(s)
Next
End Sub
结果:
Computer:FK-A05-01 Printer:hp LaserJet 1000 DOS
Computer:FK-A05-01 Printer:hp LaserJet 1000 (副本 3)
Computer:FK-A05-01 Printer:hp LaserJet 1000
Computer:FK-A05-01 Printer:EPSON AL-C8600 Advanced
Computer:FK-A09-05 Printer:在 PK 上自动 Canon LBP-810
Computer:FK-A09-05 Printer:OKi5530结算单
Computer:FK-A09-05 Printer:OKi5530
Computer:FK-A09-05 Printer:Microsoft Office Document Image Writer
Computer:FK-A09-05 Printer:EPSON LQ-1600KIII
Computer:PK Printer:Tencent Virtual Printer
Computer:PK Printer:Canon LBP-810
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9ca0e8045917fa637f9626c2ffde33c7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/bfbc5bcd11195c273c0537af3d4d5e5e.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9ca0e8045917fa637f9626c2ffde33c7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/bfbc5bcd11195c273c0537af3d4d5e5e.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
Computer:FK-A05-01 Printer:hp LaserJet 1000 DOS
Computer:FK-A05-01 Printer:hp LaserJet 1000 (副本 3)
Computer:FK-A05-01 Printer:hp LaserJet 1000
Computer:FK-A05-01 Printer:EPSON AL-C8600 Advanced
Computer:FK-A09-05 Printer:在 PK 上自动 Canon LBP-810
Computer:FK-A09-05 Printer:OKi5530结算单
Computer:FK-A09-05 Printer:OKi5530
Computer:FK-A09-05 Printer:Microsoft Office Document Image Writer
Computer:FK-A09-05 Printer:EPSON LQ-1600KIII
Computer:PK Printer:Tencent Virtual Printer
Computer:PK Printer:Canon LBP-810