c# Form uygulamalarında .Net kütüphaneleri, yerel yazıcıların yanı sıra sunucu tarafında kurulu ağ yazıcılarının bir listesini almak için gerekli özellikleri ve işlevi sağlar. Bu yöntemler yaygın olarak uygulanabilir ve özellikle İntranet'te veya Windows Uygulamaları kullanılarak kullanılır. Uzak bir makinede yüklü olan yazıcıların (diğer bilgilerle birlikte) listesini almak için bu yöntemleri intranet web (tarayıcı tabanlı) uygulamanız için de kullanabilirsiniz.
using System;
using System.Management;
using System.Windows.Forms;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//foreach (string sPrinters in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
//{
// comboBox1.Items.Add(sPrinters);
//}
//foreach (string sPrinters in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
//{
// listBox1.Items.Add(sPrinters);
//}
ManagementScope objMS =
new ManagementScope(ManagementPath.DefaultPath);
objMS.Connect();
SelectQuery objQuery = new SelectQuery("SELECT * FROM Win32_Printer");
ManagementObjectSearcher objMOS = new ManagementObjectSearcher(objMS, objQuery);
ManagementObjectCollection objMOC = objMOS.Get();
foreach (ManagementObject Printers in objMOC)
{
if (Convert.ToBoolean(Printers["Local"]))
{
comboBox1.Items.Add(Printers["Name"]);
}
if (Convert.ToBoolean(Printers["Network"]))
{
listBox1.Items.Add(Printers["Name"]);
}
}
}
}
}
|