是否所有打印机都有相同的dmpaper_A4值?

本文关键字:dmpaper A4 打印机 是否 | 更新日期: 2023-09-27 18:18:49

我正在研究打印机设置功能。微软有DeviceCapabilities API,让你检索打印机设置信息。

函数使用dmPaperSize作为纸张大小,DMPAPER_A4是dmPaperSize的成员之一。A4纸在我的打印机中定义为DMPAPER_A4,其值为9。我的问题是DMPAPER_A4是否总是为所有打印机9 ?

同样对于dmDefaultSource,是否dmDefaultSource的所有成员在每个打印机上都具有相同的值(如果它可以安装在windows中)?

谢谢。

是否所有打印机都有相同的dmpaper_A4值?

是的,DMPAPER_A4在Windows SDK头文件中定义为9。这意味着A4纸的尺寸将在所有打印机上被识别为值9。因此,如果您需要在无法使用Windows头文件的平台上检查该值,则可以放心地假设9是A4纸张大小。

理论上,微软可以改变这个值,因为他们只保证恒定的DMPAPER_A4将代表A4纸,而不是它总是有值9。但在实践中,微软不可能做到这一点。这样做会破坏数百个应用程序,所以如果你没有办法使用官方常量名,你应该安全地编码值9。

对于dmDefaultSource, Win32打印子系统中具有文档名称或值的所有成员对于所有打印机都是相同的。不符合Windows标准的打印机无法在Windows上工作。