Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа с принтером (хотелось бы логер написать)


Автор: napTu3aH 23.7.2004, 19:10
Похожая тема поднималась в том году, но что-то никто ничего конкретного тогда сказать не мог. Может теперь кто поможет? smile.gif

Нужно сделать прогу которая бы считала кол-во распечатаных страниц (и писала время каждой печати в текстовый файл, например).
Для перехвата событий добавления и удаления заданий в очередь печати был рекомендован код:
Код

type
             TForm1 = class(TForm)
               Label1: TLabel;
             private
               { Private declarations }
               procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
                 message WM_SPOOLERSTATUS;
             public
               { Public declarations }
             end;

           var
             Form1: TForm1;

           implementation

           {$R *.DFM}

           procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
           begin
             Lable1.Caption := IntToStr(msg.JobsLeft) +
                               ' Jobs currenly in spooler';
             msg.Result := 0;
           end;


Но вот этот код у меня не перехватывает события печати... Приходиться извращаться и ставить таймер, который каждую секунду проверяет очередь печати (но данный способ очень уж неудобен). Может кто подскажет почему код со спулером ничего не делает?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)