调用OpenPrinter()函数失败

jellrey 2007-08-13 12:06:32
我首先在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啊?是我的结构设置错了吗?还是要在窗口中建结构?

请大侠指点!
...全文
643 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
关注 接分
zhw_0010 2007-09-11
  • 打赏
  • 举报
回复
是不是操作系统的问题。
DavidNoWay 2007-08-13
  • 打赏
  • 举报
回复
帮顶!

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧