|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.03.2008, 23:29 | #1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
Принтер
Помогите нужен код программы которая очищаеть очередь для печати на принтере
|
23.03.2008, 15:05 | #2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Если я не ошибаюсь, то очередь можно очистить так:
uses ..., WinSpool; procedure TForm1.Button1Click(Sender: TObject); var PrintersInfo, TmpPrintersInfo: PPrinterInfo1; pcbNeeded, pcReturned, jpcbNeeded, jpcReturned: DWORD; I, J: Integer; hPrinter: THandle; JobInfo, TmpJobInfo: PJobInfo3; begin EnumPrinters(PRINTER_ENUM_LOCAL, nil, 1, PrintersInfo, 0, pcbNeeded, pcReturned); if GetLastError = ERROR_INSUFFICIENT_BUFFER then begin GetMem(PrintersInfo, pcbNeeded); try if EnumPrinters(PRINTER_ENUM_LOCAL, nil, 1, PrintersInfo, pcbNeeded, pcbNeeded, pcReturned) then begin TmpPrintersInfo := PrintersInfo; for I := 0 to pcReturned - 1 do begin if OpenPrinter(TmpPrintersInfo^.pName, hPrinter, nil) then begin EnumJobs(hPrinter, 0, 100, 1, nil, 0, jpcbNeeded, jpcReturned); if GetLastError in [NO_ERROR, ERROR_INSUFFICIENT_BUFFER] then begin GetMem(JobInfo, jpcbNeeded); try if EnumJobs(hPrinter, 0, 100, 3, JobInfo, jpcbNeeded, jpcbNeeded, jpcReturned) then begin TmpJobInfo := JobInfo; for J := 0 to jpcReturned - 1 do begin if not SetJob(hPrinter, TmpJobInfo^.JobId, 0, nil, JOB_CONTROL_DELETE) then RaiseLastOSError; Inc(TmpJobInfo); end; end else RaiseLastOSError; finally FreeMem(JobInfo); end; end else RaiseLastOSError; end else RaiseLastOSError; Inc(TmpPrintersInfo); end; end else RaiseLastOSError; finally FreeMem(PrintersInfo); end; end else RaiseLastOSError; end;
Всегда рад помочь!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
из DBGrid на принтер | micaell | БД в Delphi | 8 | 07.05.2010 17:29 |
Печать на принтер(USB) | kisser_san | Общие вопросы Delphi | 4 | 25.04.2008 16:18 |
Принтер | Gromsky | Общие вопросы Delphi | 4 | 05.03.2008 17:08 |
не печатает принтер!!!! | ronich | Операционные системы общие вопросы | 5 | 22.11.2007 08:52 |
печать на принтер в делфи! | zetrix | БД в Delphi | 0 | 30.10.2006 12:53 |