Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 25 nov. 2005 à 20:51
Voilà, je viens de pondre ceci (merci MSDN : ) ):
Private Declare Function GetPrinter
Lib "winspool.drv" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal
Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long)
As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long,
pDefault As Any) As Long
Private Enum PrinterStatus
PRINTER_STATUS_BUSY = &H200
PRINTER_STATUS_DOOR_OPEN = &H400000
PRINTER_STATUS_ERROR = &H2
PRINTER_STATUS_INITIALIZING = &H8000
PRINTER_STATUS_IO_ACTIVE = &H100
PRINTER_STATUS_MANUAL_FEED = &H20
PRINTER_STATUS_NO_TONER = &H40000
PRINTER_STATUS_NOT_AVAILABLE = &H1000
PRINTER_STATUS_OFFLINE = &H80
PRINTER_STATUS_OUT_OF_MEMORY = &H200000
PRINTER_STATUS_OUTPUT_BIN_FULL = &H800
PRINTER_STATUS_PAGE_PUNT = &H80000
PRINTER_STATUS_PAPER_JAM = &H8
PRINTER_STATUS_PAPER_OUT = &H10
PRINTER_STATUS_PAPER_PROBLEM = &H40
PRINTER_STATUS_PAUSED = &H1
PRINTER_STATUS_PENDING_DELETION = &H4
PRINTER_STATUS_PRINTING = &H400
PRINTER_STATUS_PROCESSING = &H4000
PRINTER_STATUS_TONER_LOW = &H20000
PRINTER_STATUS_USER_INTERVENTION = &H100000
PRINTER_STATUS_WAITING = &H2000
PRINTER_STATUS_WARMING_UP = &H10000
End Enum
Private Type PRINTER_INFO_6
dwStatus As Long
End Type
Private Function GetPrinterState(PrinterName As String) As PrinterStatus
Dim PrinterHwnd As Long, PI As PRINTER_INFO_6, S As Long
OpenPrinter PrinterName, PrinterHwnd, ByVal 0
GetPrinter PrinterHwnd, 6, PI, Len(PI), S
GetPrinterState = PI.dwStatus
End Function
Si tu utilise CutePDF pour faire tes pdf, le paramètre de GetPrinterState doit être "CutePDF Writer".