Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Как программно добавить принтер

Чтобы программно добавить принтер, необходимо воспользоваться API функцией AddPrinter, которая имеет три параметра:

  • Имя принтера
  • Уровень печати
  • Описание принтера

Следующий пример является надстройкой для этой функции. Для этого необходимо знать Имя принтера, которое будет отображаться в Проводнике, имя порта, к которому подключён принтер (т.е. LPT1:), имя драйвера (прийдётся посмотреть вручную) и имя процессора печати (который обычно "winprint").


 unit unit_AddPrinter;
 
 interface
 
 function AddAPrinter(PrinterName, PortName,
 DriverName, PrintProcessor: string): boolean;
 
 implementation
 
 uses
   SysUtils,
   WinSpool,
   Windows;
 
 function AddAPrinter(PrinterName, PortName,
 DriverName, PrintProcessor: string):     boolean;
 var
   pName: PChar;
   Level: DWORD;
   pPrinter: PPrinterInfo2;
 begin
 
   pName := nil;
   Level := 2;
   New(pPrinter);
   pPrinter^.pServerName := nil;
   pPrinter^.pShareName := nil;
   pPrinter^.pComment := nil;
   pPrinter^.pLocation := nil;
   pPrinter^.pDevMode := nil;
   pPrinter^.pSepFile := nil;
   pPrinter^.pDatatype := nil;
   pPrinter^.pParameters := nil;
   pPrinter^.pSecurityDescriptor := nil;
   pPrinter^.Attributes := 0;
   pPrinter^.Priority := 0;
   pPrinter^.DefaultPriority := 0;
   pPrinter^.StartTime := 0;
   pPrinter^.UntilTime := 0;
   pPrinter^.Status := 0;
   pPrinter^.cJobs := 0;
   pPrinter^.AveragePPM :=0;
 
   pPrinter^.pPrinterName := PCHAR(PrinterName);
   pPrinter^.pPortName := PCHAR(PortName);
   pPrinter^.pDriverName := PCHAR(DriverName);
   pPrinter^.pPrintProcessor := PCHAR(PrintProcessor);
 
   if AddPrinter(pName, Level, pPrinter) <> 0 then
     Result := true
   else
   begin
     // ShowMessage(inttostr(GetlastError));
     Result := false;
   end;
 end;
 
 end.
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS