tijian_tieying/web/dccdc.Selfhelp/frm_TestPrinter.cs
2025-02-20 12:14:39 +08:00

70 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Management;
using System.Text;
using System.Windows.Forms;
namespace dccdc.Selfhelp
{
public partial class frm_TestPrinter : Form
{
public frm_TestPrinter()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//MessageBox.Show(GetPrinterStat(textBox1.Text).ToString());
//var a = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
// textBox2.Text=a.IsTonerLow.ToString();
// textBox2.Text += Newtonsoft.Json.JsonConvert.SerializeObject(a);
//new System.Drawing.Printing.PrinterSettings().
//Printer.GetPrinterList();
//Printer.GetPrinterStatusInt(textBox1.Text);
//GetPrinterStat(textBox1.Text);
//System.Printing.LocalPrintServer lps=new System.Printing.LocalPrintServer();
// lps.
//System.Printing.LocalPrintServer lp = new System.Printing.LocalPrintServer();
//System.Printing.PrintServer ps=new System.Printing.PrintServer ()
//System.Printing.PrintQueue pq=new System.Printing.PrintQueue()
//lp.ConnectToPrintQueue() ;
//var b = lp.GetPrintQueue(textBox1.Text);
GetPrinterStat(textBox1.Text);
}
private void GetPrinterStat(string PrinterDevice)
{
PrinterStatus ret = 0;
string path = @"win32_printer.DeviceId='" + PrinterDevice + "'";
ManagementObject printer = new ManagementObject(path);
printer.Get();
string strRow = "";
//ret = (PrinterStatus)Convert.ToInt32(printer.Properties["PrinterStatus"].Value);
PropertyDataCollection.PropertyDataEnumerator pde = printer.Properties.GetEnumerator();
while (pde.MoveNext())
{
strRow += pde.Current.Name + " : " +Newtonsoft.Json.JsonConvert.SerializeObject( pde.Current.Value )+ "\r\n";
//MessageBox.Show(pde.Current.Name + " : " + pde.Current.Value);
//显示的是 属性名 : 属性值 的形式
}
textBox2.Text = strRow;
}
enum PrinterStatus
{
= 1,
,
,
,
,
,
,
线
}
}
}