if I read the OP right I think what they want is something kind of like this:
ideally to get "printer status events" in their application so that they can then react to changes in the current status of a printer.
polling wmi with a background worker is one way.....
I have had mixed results with some of the wmi calls.
I forget at the moment but some things in WMI are not very good, some are ok but some things are not well implemented.