Печать файлов из папки в PowerBuilder 12 - PullRequest
0 голосов
/ 06 октября 2011

Я совсем не знаком с PowerBuilder.У нас есть проблема в нашем приложении, которое встроено в powerBuilder 12.

Приложение вызывает службу WCF, написанную на .Net.Служба возвращает путь к загруженному документу.

Можно ли напечатать документ, не открывая его в PowerBuilder?Как только служба возвращает путь, мне нужно распечатать документ на принтере по умолчанию.

Любая помощь с благодарностью.

спасибо

1 Ответ

1 голос
/ 06 октября 2011

Вы можете подключить один из стандартных вызовов 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".Они никогда не работают через этот вызов.

...