Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WinSpool.OpenPrinter [D6, WinXP]


--olg- ©   (2003-11-06 11:15:00) 

Как открыть принтер функцией WinSpool.OpenPrinter с правами PRINTER_ALL_ACCESS
в Helpe не все понятно.


--olg-   (2003-11-06 12:49:00) [1]

Я набросал такой код
OpenPrinter возвращает ошибку 1804
Неверные параметры передаются в OpenPrinter
А почемe не пойму?
var
Prt : TPrinter;
HPrt: THandle;
Device, Driver, Port: array[0..255] of Char;
hDevMode: THandle;
b,Level : DWORD;
PPrintInfo : PPrinterInfo2;
PPrintInfo6 : PPrinterInfo6; //for NT
PrinterStruct: PPrinterDefaults;
begin
Prt := Printer;
Prt.GetPrinter(Device, Driver, Port, hDevmode);
PrinterStruct.pDevMode.dmSize := WinSpool.DeviceCapabilities
(Device, Port, DC_Size, nil, nil);
PrinterStruct.DesiredAccess := PRINTER_ALL_ACCESS ;
if not OpenPrinter(Device,HPrt,PrinterStruct) then ShowMessage("Open printer "+IntTostr(GetLastError));
if HPrt = 0 then
raise(Exception.Create("


Наверх

Титульная страница Поиск, карта сайта Написать письмо