Get Installed Local and Network Printer

Created at : Jun/06/2007  
879 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)
URL (optional)
Example : http://www.yulianmf.com  
Comment

NPOJ
Input code above below (Case Sensitif) :
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 2235 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 2192 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 1523 times  
DataGridView Grouping : Downloaded 1243 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 1232 times  
Article Category 
Links 
Award 
Certifications 
MOS 2007
MCAS
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise - IT Training 
Native Enterprise Facebook Group 
My Facebook 
My LinkedIn 
Syndication (RSS 2.0) 
Powered By 
Native Enterprise News