There is an API Function called 'GetPrinter' which will return PRINTER_INFO_x (the x can be 1-5). Each PRINTER_INFO structure is designed to give various levels of information. I'm not sure which contains the 'status' of online/offline but I do know that it is in one of them. Do a search on both GetPrinter and PRINTER_INFO_ to find out exactly how to use them. The declaration for 'GetPrinter' in Visual Basic is:<br>
<br>
Declare Function GetPrinter& Lib "spoolss.dll" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal cbBuf As Long, pcbNeeded As Long)<br>
<br>
where<br>
hPrinter is a handle to an open printer<br>
Level is the 'x' for the PRINTER_INFO_x<br>
pPrinter is buffer to load with info<br>
cbBuf will be the size of the buffer<br>
pcbNeeded is how many bytes will be needed for the info.<br>
<br>
HTH, Spaz