2

我正在尝试获取活动打印机的物理边距。但我不确定我应该为 GetDeviceCaps 函数的第二个参数提供什么值。有人可以告诉我我可以设置的HORZSIZEVERTSIZE的值是什么,以获取实际的打印机值。

如果我使用 0 作为第二个参数的值,我得到的 getX 和 getY 值为 1024。有人可以帮我吗。

注意: DefaultPrinterInfo 是用户定义的函数,用于获取驱动程序名称和打印机名称

Sub GetDevCaps()
    Dim str() As String
    Dim hdc As Long, delHdc As Long
    Dim getX As Long, getY As Long
    str = DefaultPrinterInfo
    hdc = CreateDC(str(1), str(0), 0, 0)
    getX = GetDeviceCaps(hdc, ?)
    getY = GetDeviceCaps(hdc, ?)
    delHdc = DeleteDC(hdc)<br>
End Sub
4

1 回答 1

2

第二个参数表示您要检索的信息。您可以在这篇MSDN文章中找到常量和解释。

您一直要求的常量:

Global Const HORZSIZE = 4
Global Const VERTSIZE = 6
于 2013-05-07T08:45:51.240 回答