我正在开发打印机设置功能。 Microsoft具有DeviceCapabilities API,可让您检索打印机设置信息。
该函数使用dmPaperSize作为纸张大小,DMPAPER_A4是dmPaperSize中的成员之一。 A4纸定义为DMPAPER_A4,在我的打印机中值为9。我的问题是DMPAPER_A4对于所有打印机是否总是9?
对于dmDefaultSource,dmDefaultSource的所有成员是否在每台打印机上都有相同的值(如果它可以安装在Windows中)?
感谢。
答案 0 :(得分:0)
是的,DMPAPER_A4
在Windows SDK头文件中定义为9
。这意味着A4纸张尺寸将在所有打印机上标识为值9。因此,如果您需要在无法使用Windows头文件的平台上检查该值,则可以安全地假设9是A4纸张大小。
理论上,微软可以改变这个价值,因为他们只保证常量DMPAPER_A4
代表A4纸,而不是它总是有价值9.但实际上,微软绝不会这样做。如果您无法使用官方常量名称,他们将通过这样的移动打破数百个应用程序,因此您应该安全地编码值9。
对于dmDefaultSource
,具有文档名称或值的Win32打印子系统的所有成员对于所有打印机都是相同的。不符合Windows标准的打印机无法在Windows上运行。