Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

SetPrinter

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> SetPrinter
Имя
Сообщение << Старые топики   Новые топики >>
SetPrinter - 2011-08-09 16:15:06.980000   
dllлька

Сообщений: 27
Оценки: 0
Присоединился: 2011-04-15 08:10:36.603333
Добрый день.Есть код:
HANDLE hand; DWORD ret,ret1; PRINTER_INFO_2 *printers1 = NULL; EnumPrinters(PRINTER_ENUM_LOCAL, 0, 2,0, 0, &ret, &ret1); BYTE* buf = new BYTE[ret]; EnumPrinters(PRINTER_ENUM_LOCAL, 0, 2,buf, ret, &ret, &ret1); LPPRINTER_INFO_2A printers=(LPPRINTER_INFO_2A)buf; for(DWORD i(0); i&lt;ret1; ++i) { OpenPrinter(printers[i].pPrinterName,&hand,0); GetPrinter(hand, 2, 0, 0, &ret1); BYTE* buf1 = new BYTE[ret1]; printers1=(PRINTER_INFO_2A *)GlobalAlloc(GPTR, ret1); GetPrinter(hand, 2, (LPBYTE)printers1, ret1, &ret1); printers1-&gt;Status=PRINTER_STATUS_PAUSED; SetPrinter(hand,2,(LPBYTE)&printers1,1); ShowMessage(GetLastError()); ClosePrinter(hand); } Приложение вылетает и пишет "Access violation at address 72FCAD76 in module winspool.drv", или GetLastError() выдает 1803.
Как отправить принтеру PRINTER_CONTROL_PAUSE?
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> SetPrinter







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.