Win32_Printer pause and resume

Win32_Printer pause and resume
Queste sono delle semplici righe di codice in C# per poter utilizzare il metodo Pause e Resume della classe WMI Win32_Printer, che permette la gestione delle stampanti.

I metodi di esempio sono:
GetPrintersCollection restituisce il nome di tutte le stamapnti collegate al computer.
SetPause mette la stampante in stato di pausa.
SetResume ripristina la stamapnte dallo stato di pausa.

Per visualizzare il codice seguire il link C# Win32_Printer pause and resume.

Per poter utilizzare a classe WMI Win32_Printer e gli oggetti ManagementObjectSearcher è necessario aggiungere il riferimento System.Management.

public void SetResume(string printerName)
{
string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection coll = searcher.Get();

foreach (ManagementObject printer in coll) { printer.InvokeMethod("Resume", null); }
}

public void SetPause(string printerName)
{
string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection coll = searcher.Get();

foreach (ManagementObject printer in coll) { printer.InvokeMethod("Pause", null); }
}

public static StringCollection GetPrintersCollection()
{
StringCollection printerNameCollection = new StringCollection();
string searchQuery = "SELECT * FROM Win32_Printer";

ManagementObjectSearcher searchPrinters = new ManagementObjectSearcher(searchQuery);
ManagementObjectCollection printerCollection = searchPrinters.Get();

foreach (ManagementObject printer in printerCollection) {
printerNameCollection.Add(printer.Properties["Name"].Value.ToString());
}

return printerNameCollection;
}
Salsomaggiore Terme (Programmazione) - 18/01/2015 - -
Seguici su Google+ - Written by
© MrPaloma 2019