正如我在标题中所写,我正在寻找一种方法来检索C ++中特定打印机的可用纸张格式。目前我只能以这种方式检索当前设置:
LPWSTR pName = L"My Printer Name";
HANDLE _printerHandle;
OpenPrinterW(pName, &_printerHandle, NULL);
LONG size = DocumentPropertiesW(NULL, _printerHandle, pName, NULL, NULL, 0);
PDEVMODEW info = (PDEVMODEW)malloc(size); //here I get/set settings
DocumentPropertiesW(NULL, _printerHandle, pName, info, NULL, DM_OUT_BUFFER);
任何帮助将不胜感激
答案 0 :(得分:2)
使用DeviceCapabilities查询DC_BINS
。那将为您提供一系列WORD,其中每个单词对应一个纸质来源。 (请查看dmDefaultSource
说明中DEVMODE
的说明以解释这些值。)
您还可以使用DeviceCapabilities查询DC_PAPERS
或DC_PAPERSIZES
以了解支持的纸张尺寸。