如何获取打印机信息
我想获得打印机里的纸型及其代号,其中包括自定义纸型,看到其他网站上有段代码好像比较符合,但我想要vfp6的,大家看看能不能帮我转化一下或者有什么其他的好方法,谢谢
#define DC_PAPERS 2
#define DC_PAPERSIZE 3
#define DC_PAPERNAMES 16
DECLARE Long DeviceCapabilities IN winspool.drv ;
String pDevice, String pPort, Long fwCapability, String @ pOutput, Long pDevMode
m.cPrinter = SET( 'Printer' , 2 )
m.iPapers = DeviceCapabilities( m.cPrinter, 'LPT1:', DC_PAPERS, NULL, 0 )
m.cNumbers = REPLICATE( CHR(0), 2 * m.iPapers )
m.cNames = REPLICATE( CHR(0), 64 * m.iPapers )
m.cSizes = REPLICATE( CHR(0), 8 * m.iPapers )
DeviceCapabilities( m.cPrinter, 'LPT1:', DC_PAPERS, @ m.cNumbers, 0 )
DeviceCapabilities( m.cPrinter, 'LPT1:', DC_PAPERNAMES, @ m.cNames, 0 )
DeviceCapabilities( m.cPrinter, 'LPT1:', DC_PAPERSIZE, @ m.cSizes, 0 )
CLEAR
FOR m.ii = 1 TO m.iPapers
m.iNumber = CTOBIN( SUBSTR( m.cNumbers, (m.ii-1)*2+1, 2 ), '2rs' )
m.cName = SUBSTR( m.cNames, (m.ii-1)*64+1, 64 )
m.cName = LEFT( m.cName, AT( CHR(0), m.cName ) - 1 )
m.iWidth = CTOBIN( SUBSTR( m.cSizes, (m.ii-1)*8+1, 4 ), '4rs' )
m.iHeight = CTOBIN( SUBSTR( m.cSizes, (m.ii-1)*8+5, 4 ), '4rs' )
? TEXTMERGE( '<<m.iNumber>>, <<m.cName>>, <<m.iWidth>>x<<m.iHeight>>' )
ENDFOR
STORE '' TO m.cNames, m.cSizes