DELPHI СТАТУС ПРИНТЕРА
Статус принтера в Delphi может быть определен с помощью использования функции WinAPI GetPrinter
, которая возвращает структуру TPrinterDefaults
.
Чтобы получить статус принтера, можно использовать параметр pPrinter
структуры TPrinterDefaults
для передачи имени принтера, а затем проверить статус принтера в свойстве PrinterStatus
.
var PrinterDefaults: TPrinterDefaults; PrinterInfo: TPrinterInfo2;begin PrinterDefaults.pDatatype := nil; PrinterDefaults.pDevMode := nil; PrinterDefaults.DesiredAccess := PRINTER_ALL_ACCESS; WinSpool.GetPrinter(Printer.Handle, 2, nil, 0, @NeededSize); GetMem(PrinterInfo, NeededSize); try WinSpool.GetPrinter(Printer.Handle, 2, PrinterInfo, NeededSize, @NeededSize); if PrinterInfo^.Status = PRINTER_STATUS_PRINTING then ShowMessage('Printer is printing') else if PrinterInfo^.Status = PRINTER_STATUS_PAUSED then ShowMessage('Printer is paused') else if PrinterInfo^.Status = PRINTER_STATUS_BUSY then ShowMessage('Printer is busy') else if PrinterInfo^.Status = PRINTER_STATUS_ERROR then ShowMessage('Printer has an error') else if PrinterInfo^.Status = PRINTER_STATUS_PENDING_DELETION then ShowMessage('Printer is pending deletion') else if PrinterInfo^.Status = PRINTER_STATUS_PAPER_JAM then ShowMessage('Printer has a paper jam') else if PrinterInfo^.Status = PRINTER_STATUS_PAPER_OUT then ShowMessage('Printer is out of paper') else if PrinterInfo^.Status = PRINTER_STATUS_MANUAL_FEED then ShowMessage('Printer is in manual feed mode') else if PrinterInfo^.Status = PRINTER_STATUS_WAITING then ShowMessage('Printer is waiting') else if PrinterInfo^.Status = PRINTER_STATUS_OFFLINE then ShowMessage('Printer is offline') else ShowMessage('Printer is ready'); finally FreeMem(PrinterInfo); end;end;
Delphi Programming Movie #36 - HyperLink labels
Creating LibreOffice Documents in Delphi - Daniel Fernandes - Delphicon 2023
Delphi #170 - QuickEdits in the Form Designer
Delphi - Load picture into Delphi
Building an Application Printing Labels - Delphi #159
Решение проблемы при приостановке работы принтера
SQL in Delphi - Photo Company Example (Part 2)
Delayed Form Creation - Delphi #4
Принтер отключен, что делать?
Не идет печать на принтер, что делать