Get Installed Local and Network Printer

Posted at : Jun/06/2007
3120 Views

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

 


ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  X Twitter Facebook  Instagram  LinkedIn

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2026   Rully Yulian MF   All rights reserved.