I asked this long ago and I have still not found a way to check if the printer is on. I developed code for point of sale. I can use messages but some of the sales people don't pay attention. As the code progresses it will print, save the export information and clear the current sales receipt. Problem is if the printer isn't turned on the customer doesn't get a receipt.
I have looked in MSKB, and some API sites but have not found anything to check if the printer is on.