Salve a tutti.
Il mio problema è il seguente :
ho un programma c# che esegue delle operazioni e stampa dei risultati (uno scontrino su una stampante termica USB) e funziona tutto correttamente.

Ho bisogno di recuperare lo stato della stampante prima di inviare in stampa per vedere se è connessa, accesa, se c'è la carta o se vi sono altri problemi.

Ma non riesco a farlo.

Con tutti le porzioni di codice che ho trovato in rete
(che usano :ManagementObject, PrintServer, PrintQueue ecc ecc) lo stato risulta sempre in linea (PrinterStatus 3, PrinterState 0).

Ho capito che il problema è dovuto al fatto che Windows usa un servizio di spooler che in realtà nasconde e rende trasparente la stampante ai programmi..
Infatti anche se la stampante è staccata o spenta...il documento va in coda di stampa e vi rimane.

ma io ho bisogno di conoscere lo stato della stampate per eventualmente annullare alcune operazioni... come devo fare??!?!?!?
grazie