![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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("