// 打开打印机
If Not OpenPrinter ( printername, ll_handle, ref lstr_default ) Then Return -1
ll_cbbuf = 0
// 取打印机驱动名称
ll_cbBuf = 0
l_SetBuffer:
lbl_buffer = Blob ( Space ( ll_cbBuf ) )
If Not GetPrinter ( ll_handle, 2, ref lbl_buffer, ll_cbBuf, ll_cbNeeded ) Then
If ll_cbNeeded > ll_cbBuf Then
ll_cbBuf = ll_cbNeeded
Goto l_SetBuffer
Else
Return -1
End If
End If
Choose Case command
Case 101,102
lstr_devMode.dmPaperSize = papersize
lstr_devMode.dmFields = DM_PAPERSIZE
If PaperSize = DMPAPER_USER Then
lstr_devMode.dmPaperWidth = paperwidth
lstr_devMode.dmPaperLength = paperlength
lstr_devMode.dmFields += DM_PAPERLENGTH + DM_PAPERWIDTH
End If
Case 103
lstr_devMode.dmOrientation = outpara
lstr_devMode.dmFields = DM_ORIENTATION
End Choose