This may not be what you want but it is easier:
Code:
  Dim prtr as Object
  Dim dc() as long
  Dim hDC as long
  hDC = Printer.hDC  ' this gives the hDC of the currently active printer

   For each Prtr in Printers
         Redim Preserve dc(Ubound(dc) + 1)
         dc(Ubound(dc)) = Prtr.hDC  
   next
   ' you now have the device context for all printers
PS: Pictureboxes and printers have hDC property