Get Installed Local and Network Printer

VB - .NET Framework , Posted at : Jun/06/2007  
1321 Views   0 Comments

Bagaimana caranya agar kita bisa mendapatkan informasi printer yang terinstall di local komputer dan Network? Ada beberapa cara untuk mendapatkan informasi tersebut, diantaranya adalah :

  • Menggunakan namespace System.Drawing.Printing
  • Menggunakan WMI Query

Pada artikel kali ini saya akan membuat contoh code yang menggunakan kedua cara di atas. Misalkan code nya saya tempatkan di sebuah module. Pertama kita perlu imports terlebih dahulu namespace System.Drawing.Printing, setelah itu dengan menggunakan property InstalledPrinters yang terdapat di dalam PrinterSettings class maka informasi tersebut sudah dapat kita tampilkan. Yang perlu kita lakukan hanyalah melakukan iterasi terhadap properti InstalledPrinters tsb, potongan code nya seperti ini :

Imports System.Drawing.Printing

Module GetPrinterInfo

Public Sub GetLocalPrinter()
Console.WriteLine("Printer on Local Machine...")
For Each aPrinter As String In _
PrinterSettings.InstalledPrinters
Console.WriteLine(aPrinter)
Next Console.WriteLine("")
End Sub

.....

Untuk menampilkan informasi printer dengan menggunakan WMI Query maka langkah-langkah yang perlu kita lakukan adalah :

  1. Buat sebuah variabel dari class Management.ManagementObjectSearcher. Objek ini digunakan sebagai parser WMI Query yang digunakan.
  2. Buat sebuah variabel dari class Management.ManagementObjectCollection yang digunakan untuk menampung koleksi object berdasarkan WMI Query.
  3. Buat sebuah variabel dari Management.ManagementObject yang digunakan untuk melakukan iterasi dari koleksi objek yang dihasilkan dari langkah kedua di atas.

Potongan code nya seperti ini :

   Public Sub GetNetworkPrinter()
Dim searchPrinter As Management.ManagementObjectSearcher
Dim resultPrinter As Management.ManagementObjectCollection
Dim aPrinter As Management.ManagementObject

searchPrinter = New Management.ManagementObjectSearcher( _
"Select * From Win32_Printer")
resultPrinter = searchPrinter.Get

Console.WriteLine("Printer on Local Network...")
For Each aPrinter In resultPrinter
Console.WriteLine(aPrinter!Name)
Next Console.ReadLine()
End Sub

Setelah itu prosedur yang kita buat diatas tinggal kita panggil lewat prosedur Main yang sifatnya Shared sebagai application entry point nya, code lengkapnya seperti ini :

Imports System.Drawing.Printing

Module GetPrinterInfo

Public Sub GetLocalPrinter()
Console.WriteLine("Printer on Local Machine...")
For Each aPrinter As String In _
PrinterSettings.InstalledPrinters
Console.WriteLine(aPrinter)
Next Console.WriteLine("")
End Sub

Public Sub GetNetworkPrinter()
Dim searchPrinter As Management.ManagementObjectSearcher
Dim resultPrinter As Management.ManagementObjectCollection
Dim aPrinter As Management.ManagementObject

searchPrinter = New Management.ManagementObjectSearcher( _
"Select * From Win32_Printer")
resultPrinter = searchPrinter.Get

Console.WriteLine("Printer on Local Network...")
For Each aPrinter In resultPrinter
Console.WriteLine(aPrinter!Name)
Next Console.ReadLine()
End Sub

Sub Main()
GetLocalPrinter()
GetNetworkPrinter()
End Sub

End
Module

 


[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

3751
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
My Name is Rully Yulian Muhammad Firmansyah. I am an IT Trainer, IT Consultant and Application Developer spesializing in Microsoft .NET technology and SQL Server database. I live in Bandung, Indonesia. My hobby is to play Guitar. [Read More...]
Top Download 
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 3175 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 2592 times  
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 2180 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 2127 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 1806 times  
Article Category 
Links 
Award 
Certifications 
MOS 2007
MCAS
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Facebook   LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News