Do you mean a locally attached printer or just a connection to a
network printer?
You could try using WMI (accessed via System.Management in .NET).
There's a Win32_Printer class which has a PrinterStatus field. I
gather that it doesn't work for every printer driver so you might have
to do some testing.
If you're new to WMI, get the WMI Tools (link at end) from MS. Use the
Object Browser to have a poke around.
You can get faster feedback knocking up the WMI part of your query in
script form and then converting to .NET. Go to ScriptCenter (link at
end) and get the WMI Scriptomatic. You can knock up WMI scripts and
test them very quickly and easily with this tool.
Also, this might help:
http://www.dotnet247.com/247referenc...45/229078.aspx
http://www.microsoft.com/downloads/d...5-F2ABDC3ED314
http://www.microsoft.com/technet/scr.../scripto2.mspx