Kod:using System; using System.Drawing.Printing; class PrinterCheck { static void Main(string[] args) { // Bilgisayara bağlı olan yazıcıları listele foreach (string printer in PrinterSettings.InstalledPrinters) { Console.WriteLine(printer); } // Belirli bir yazıcıya erişmek isterseniz, yazıcı adını kullanabilirsiniz // PrinterSettings printerSettings = new PrinterSettings(); // printerSettings.PrinterName = "yazıcı adı"; // Varsayılan yazıcı ayarlarını kullanarak bir yazıcı oluşturun PrinterSettings printerSettings = new PrinterSettings(); // Yazıcı bağlı mı kontrol edin if (printerSettings.IsValid) { Console.WriteLine("Yazıcı bağlı."); } else { Console.WriteLine("Yazıcı bağlı değil."); } } } using System.Windows.Forms; class Form1 : Form { Label label1; TextBox textBox1; public Form1() { // Label kontrolü oluştur label1 = new Label(); label1.Text = "Label metni"; label1.Location = new System.Drawing.Point(50, 50); label1.AutoSize = true; // TextBox kontrolü oluştur textBox1 = new TextBox(); textBox1.Location = new System.Drawing.Point(50, 80); // Form'a kontrolü ekle Controls.Add(label1); Controls.Add(textBox1); } }
Chat Cptden örnektir. Ben pek anlamıyorum doğrumu yanlış mı şansımı denedim.
using System;
using System.Management;
namespace zedilabs.com
{
class PrinterOffline
{
[STAThread]
static void Main(string[] args)
{
// Set management scope
ManagementScope scope = new ManagementScope(@"\root\cimv2");
scope.Connect();
// Select Printers from WMI Object Collections
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_Printer");
string printerName = "";
foreach (ManagementObject printer in searcher.Get())
{
printerName = printer["Name"].ToString().ToLower();
if (printerName.Equals(@"hp deskjet 930c"))
{
Console.WriteLine("Printer = " + printer["Name"]);
if (printer["WorkOffline"].ToString().ToLower().Equals("true"))
{
// printer is offline by user
Console.WriteLine("Your Plug-N-Play printer is not connected.");
}
else
{
// printer is not offline
Console.WriteLine("Your Plug-N-Play printer is connected.");
}
}
}
}
}
}
Maalesef işime yaramadı.Bu kaynak işinize yarayabilir mi?
How to access Printers Information on a local computer in C#
social.msdn.microsoft.com
İlk bu hatayı verdiSystem.Management kullarak yapabilirsin. Örnek;
Kod:using System; using System.Management; namespace zedilabs.com { class PrinterOffline { [STAThread] static void Main(string[] args) { // Set management scope ManagementScope scope = new ManagementScope(@"\root\cimv2"); scope.Connect(); // Select Printers from WMI Object Collections ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"); string printerName = ""; foreach (ManagementObject printer in searcher.Get()) { printerName = printer["Name"].ToString().ToLower(); if (printerName.Equals(@"hp deskjet 930c")) { Console.WriteLine("Printer = " + printer["Name"]); if (printer["WorkOffline"].ToString().ToLower().Equals("true")) { // printer is offline by user Console.WriteLine("Your Plug-N-Play printer is not connected."); } else { // printer is not offline Console.WriteLine("Your Plug-N-Play printer is connected."); } } } } } }
Yazıcıyı hangi komut ile sorgulayacağım kaynakta bulamadım.@Eray T hocamızın yeni hazırladığı rehberi kullanarak, C# üzerinden CMD'ye komut göndererek sorununuzu çözebilirsiniz. İnternette CMD'den printer sorgulamayı gösteren birçok kaynak mevcut.
Managing Printers from the Command Prompt in Windows | Windows OS Hub
Today we’ll talk about opportunities for managing printers and their drivers from the command prompt in Windows 10/ 8.1 and Windows Server 2012 R2/ 2016. We will consider how to…woshub.com
Hocam sen daha parantez silmeyi bilmiyorsun ? Program yazmak istediğine emin misin ? Sana %100 hatasız kod nasıl verelim ?
Yaptığım hatayı açıklayabilirdin ayrıyeten kodlamaya daha yeni başladım hata yapmam normal.Hocam sen daha parantez silmeyi bilmiyorsun ? Program yazmak istediğine emin misin ? Sana %100 hatasız kod nasıl verelim ?
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.