.net 从PowerBuilder 12中的文件夹打印文件

.net 从PowerBuilder 12中的文件夹打印文件,.net,powerbuilder,.net,Powerbuilder,我对PowerBuilder一点也不熟悉。我们在powerBuilder 12中构建的应用程序中存在一个问题 应用程序调用用.Net编写的WCF服务。该服务返回它下载的文档的路径 有没有一种方法可以打印文档而不用在PowerBuilder中打开它?服务返回路径后,我需要使用默认打印机打印文档 非常感谢您的帮助 谢谢您可以连接一个标准的Windows API调用ShellExecute Function long ShellExecute( long hwnd, string lpOperat

我对PowerBuilder一点也不熟悉。我们在powerBuilder 12中构建的应用程序中存在一个问题

应用程序调用用.Net编写的WCF服务。该服务返回它下载的文档的路径

有没有一种方法可以打印文档而不用在PowerBuilder中打开它?服务返回路径后,我需要使用默认打印机打印文档

非常感谢您的帮助


谢谢

您可以连接一个标准的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中获取该错误的描述

如果您愿意,其中一个“预要求”是,您必须安装正确的应用程序,并为您要传递的文件的文件扩展名注册,这样才能工作

而且,仅供参考,我们似乎总是遇到“.txt”文件的问题。他们从来没有通过这个电话工作过