我遇到DEVMODE结构的dmColor字段有问题。正在读取和写入DEVMODE.dmColor
我的默认打印机是彩色打印机,如果我通过控制面板将打印机属性的默认输出颜色设置为黑白,DEVMODE.dmColor字段总是返回DMCOLOR_COLOR而不是DMCOLOR_MONOCHROME。
即使我默认我的打印机黑白打印机只,DEVMODE.dmColor仍始终返回DMCOLOR_COLOR
所有其他DEVMODE领域,如dmDeviceName,dmCopies,dmDuplex等做工精细。我也尝试使用DeviceCapabilities函数查询DC_COLORDEVICE,微软文档说如果设备支持颜色,它应该返回1,如果不支持则返回-1,如果发生错误,则返回-1。此函数始终返回-1,但由GetLastError返回的错误代码转换为“操作成功完成”。
我在Windows Vista下运行,我在DEVMODE.dmFields中指定了DM_COLOR,有没有人知道为什么会发生这种情况?
谢谢。