/** * * 非离线的打印机 * */ public static List <PrintOneInfo> GetLocalPrintersInfoDetail() { PrintOneInfo poi = null; List <PrintOneInfo> fPrinters = new List <PrintOneInfo>(); #if true poi = new PrintOneInfo(DefaultPrinter(), PrintType.PcPrint, PrintFrom.Self, Printer.GetPrinterStatus(DefaultPrinter())); /*----------------------------------------------------------------------------------*/ if (poi.IsOffline() == false) { fPrinters.Add(poi); //默认打印机始终出现在列表的第一项 } /*----------------------------------------------------------------------------------*/ #endif foreach (String fPrinterName in PrinterSettings.InstalledPrinters) { poi = new PrintOneInfo(fPrinterName, PrintType.PcPrint, PrintFrom.Self, Printer.GetPrinterStatus(fPrinterName)); if (!fPrinters.Contains(poi) && (poi.IsOffline() == false)) { fPrinters.Add(poi); } } /*----------------------------------------------------------------------------------*/ return(fPrinters); }
public static List <PrintOneInfo> GetLocalPrintersInfo() { PrintOneInfo poi = null; List <PrintOneInfo> fPrinters = new List <PrintOneInfo>(); poi = new PrintOneInfo(DefaultPrinter(), PrintType.PcPrint, PrintFrom.Self, false, false); fPrinters.Add(poi); //默认打印机始终出现在列表的第一项 foreach (String fPrinterName in PrinterSettings.InstalledPrinters) { poi = new PrintOneInfo( fPrinterName, PrintType.PcPrint, PrintFrom.Self, false, false); if (!fPrinters.Contains(poi)) { fPrinters.Add(poi); } } return(fPrinters); }
public static void SavePrinter2Disk() { List <PrintOneInfo> so = PrintLocalPrint.LocalPrinter.GetLocalPrintersInfoDetail_ALL(); XmlDocument doc = new XmlDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(dec); XmlElement root = doc.CreateElement("Printers"); for (int i = 0; i < so.Count; i++) { PrintOneInfo poi = (PrintOneInfo)so[i]; if (poi.IsOffline() == false) { XmlNode node = doc.CreateElement("Printer"); XmlElement elementHostName = doc.CreateElement("PrinterName"); elementHostName.InnerText = poi.mPrintName; XmlElement elementHostType = doc.CreateElement("PrinterType"); elementHostType.InnerText = poi.mPrintType.ToString(); node.AppendChild(elementHostName); node.AppendChild(elementHostType); root.AppendChild(node); } } doc.AppendChild(root); doc.Save("Printers.xml"); }
public UserControlNetPrintItem(PrintOneInfo poi) { this.mPrintInfo = poi; InitializeComponent(); this.labelName.Text = "打印机名:" + poi.mPrintName; this.SetPrinterStatus(); this.SetPrinterStatus(); this.label3.Text = "正在刷新中"; }
private void FormNetPrint_Load(object sender, EventArgs e) { PrintServer ps = this.mServer.PrintSvr; for (int i = 0; i < ps.ListPrint.Count; i++) { PrintOneInfo poi = (PrintOneInfo)(ps.ListPrint[i]); this.mNetPrintList.Add(poi); } }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (obj.GetType() != typeof(PrintOneInfo)) { return(false); } PrintOneInfo c = obj as PrintOneInfo; return(this.mPrintName == c.mPrintName && this.mPrintType == c.mPrintType); }
public void Add(PrintOneInfo poi) { this.flowLayoutPanelList.Controls.Add(new UserControlNetPrintItem(poi)); }