gpt4 book ai didi

delphi - 读写 DEVMODE.dmColor

转载 作者:行者123 更新时间:2023-12-02 04:20:31 30 4
gpt4 key购买 nike

我在使用 DEVMODE 结构的 dmColor 字段时遇到问题。

我的默认打印机是彩色打印机,如果我通过控制面板将打印机属性的颜色默认输出为黑白,则 DEVMODE.dmColor 字段始终返回 DMCOLOR_COLOR 而不是 DMCOLOR_MONOCHROME。

即使我将打印机默认为黑白打印机,DEVMODE.dmColor 仍然始终返回 DMCOLOR_COLOR

所有其他 DEVMODE 字段(例如 dmDeviceName、dmCopies、dmDuplex 等)都可以正常工作。我还尝试使用 DeviceCapability 函数查询 DC_COLORDEVICE,微软文档表示,如果设备支持颜色,则应返回 1,如果不支持颜色,则应返回 0,如果发生错误,则应返回 -1。此函数始终返回 -1,但 GetLastError 返回的错误代码会转换为“操作成功完成”。

我在 Windows Vista 下运行,并且在 DEVMODE.dmFields 中指定了 DM_COLOR,有谁知道为什么会发生这种情况?

最佳答案

我已经解决了这个问题,似乎颜色设置以及其他设置都存储在 DEVMODE 结构下方的专用驱动器数据部分中。私有(private)数据的大小存储在DEVMODE.dmDriverExtra中。将从打印机属性对话框返回的专用驱动程序数据复制到打印设备已解决该问题。

关于delphi - 读写 DEVMODE.dmColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3706108/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com