我根本不熟悉PowerBuilder。我们在powerBuilder 12中构建的应用程序中存在问题。
应用程序调用用.Net编写的WCF服务。该服务返回其下载的文档的路径。
有没有办法在不打开PowerBuilder的情况下打印文档?一旦服务返回路径,我需要在默认打印机中打印文档。
非常感谢任何帮助。
感谢
答案 0 :(得分:1)
您可以连接其中一个标准Windows API调用ShellExecute
Function long ShellExecute( long hwnd, string lpOperation, string lpFile, string
lpParameters, string lpDirectory, integer nShowCmd ) Library "shell32.dll"
alias for "ShellExecuteW"
完成此操作后,您可以将路径/文件发送到此功能并告诉它打印,如下所示:
integer li_return_code
string ls_null
long ll_null
SetNull(ls_null)
SetNull(ll_null)
li_return_code = ShellExecute(ll_null, "print", "C:\File.pdf", ls_null, ls_null, 0)
返回代码可以是多个值,但是大于32的任何值都意味着成功。较低的值指示错误,您可以从MSDN获取描述。
如果您愿意,其中一个'pre-req'是您必须安装正确的应用程序并注册您传入的文件的文件扩展名才能使其正常工作。
而且,仅供参考,我们似乎总是遇到“.txt”文件的问题。他们从来没有通过这个电话。