2011-09-06 2 views
5

Sto cercando di ottenere lo stato della stampante di una stampante PointOfSale utilizzando il seguente codice:C# PrintDocument e stampanti Stato

Hashtable properties = new Hashtable(); 
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win2_Printer"); 

foreach (ManagementObject obj in searcher.Get()) { 
    if (obj["name"].ToString() == printerName) { 
    foreach (PropertyData data in obj.Properties) { 
     if(data.Name.ToLower() = "printerstatus") { 
     int printerStatus = Convert.ToInt32(data.Value); 
     } 
    } 
    } 
} 

Il problema è che lo stato è o 3 (minimo) o 4 (stampa), anche quando scollegato o la carta è fuori.

Ho letto molti post con questo stesso problema, ma non ho trovato risposta. È corretto? In quale altro modo dovrei controllare lo stato? Qualsiasi aiuto è apprezzato.

risposta

0

Che marca di stampante stai utilizzando?

A volte il Marchio avrà un comando specifico che è possibile inviare per interrogare lo stato.

+0

Custom VKP80 II – PrinterNoWorky

+0

Direi di continuare a ricercarlo. Questa pagina http://www.custom.it/ita/products/show_product.aspx?id=KioskEquipment&pid=47 indica che hanno una dll di stato. Dovrai trovare della documentazione per questo. – CommonSense

+0

Ya, ho trovato quel link. Ho inviato via email il supporto tecnico e ho ricevuto una risposta, credo, in italiano. Grazie per lo sforzo, comunque! – PrinterNoWorky