2011-10-06 57 views
0

我對PowerBuilder根本不熟悉。我們在我們的應用程序中有一個問題,這個問題是在PowerBuilder 12中構建的。從PowerBuilder 12中的文件夾打印文件

應用程序調用用.Net編寫的WCF服務。該服務返回它下載的文檔的路徑。

有沒有辦法打印文檔而無需在PowerBuilder中打開它?一旦服務返回路徑,我需要在默認打印機中打印文檔。

任何幫助非常感謝。

感謝

回答

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獲取描述。

如果您願意,其中一個「預先需求」是您必須安裝正確的應用程序併爲您傳遞的文件的文件擴展名進行註冊才能使其正常工作。

而且,僅供參考,我們似乎總是有「.txt」文件的問題。他們從來沒有通過這個電話。