调用OpenPrinter()函数失败
我首先在PB中建立了两个结构分别是:
其中
printer_defaults为:
String pDatatype
DEVMODE pDevMode
Long DesiredAccess
devmode为:
Long dmDisplayFrequency
Long dmDisplayFlags
Long dmPelsHeight
Long dmPelsWidth
Long dmBitsPerPel
Integer dmUnusedPadding
Char dmFormName[32]
Integer dmCollate
Integer dmTTOption
Integer dmYResolution
Integer dmDuplex
Integer dmColor
Integer dmPrintQuality
Integer dmDefaultSource
Integer dmCopies
Integer dmScale
Integer dmPaperWidth
Integer dmPaperLength
Integer dmPaperSize
Integer dmOrientation
Long dmFields
Integer dmDriverExtra
Integer dmSize
Integer dmDriverVersion
Integer dmSpecVersion
Char dmDeviceName[32]
然后我用程序调用如下:
FUNCTION Long GetDefaultPrinter ( REF String pszBuffer, REF Long pcchBuffer) LIBRARY "winspool.drv" ALIAS FOR "GetDefaultPrinterA"
FUNCTION Long OpenPrinter ( String pPrinterName, REF Long phPrinter, REF PRINTER_DEFAULTS pDefault) LIBRARY "winspool.drv" ALIAS FOR "OpenPrinterA"
string ls_defaultprintername
long ll_printernamesize
long ll_handle
printer_defaults lstr_printerdefault
setnull(ls_defaultprintername)
getdefaultprinter(ls_defaultprintername,ll_printernamesize)
ls_defaultprintername = space(ll_printernamesize)
getdefaultprinter(ls_defaultprintername,ll_printernamesize)
long ll_parm
ll_parm = OpenPrinter(ls_defaultprintername,ll_handle,lstr_printerdefault)
为什么我的openprinter返回都是0啊?是我的结构设置错了吗?还是要在窗口中建结构?
请大侠指点!