Установка дуплексного режима с помощью SetPrinter() не работаетC++

Программы на C++. Форум разработчиков
Anonymous
 Установка дуплексного режима с помощью SetPrinter() не работает

Сообщение Anonymous »

Я пытаюсь установить на принтере дуплексный (двусторонний) режим, но вызов SetPrinter() не работает:

Код: Выделить всё

bool SetDuplexMode(HANDLE hPrinter, short duplexMode) {
PRINTER_INFO_2* pInfo = NULL;
DWORD dwNeeded = 0;
GetPrinter(hPrinter, 2, NULL, 0, &dwNeeded);
pInfo = (PRINTER_INFO_2*)malloc(dwNeeded);
if (!GetPrinter(hPrinter, 2, (LPBYTE)pInfo, dwNeeded, &dwNeeded)) {
free(pInfo);
return false;
}

DEVMODE* pDevMode = pInfo->pDevMode;
if (!pDevMode) {
free(pInfo);
return false;
}

pDevMode->dmFields |= DM_DUPLEX;
pDevMode->dmDuplex = duplexMode;

if (!SetPrinter(hPrinter, 2, (LPBYTE)pInfo, 0)) {
std::wcout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79010489/setting-duplex-mode-with-setprinter-is-not-working[/url]

Вернуться в «C++»