暂停打印的问题 |
尚未結案
|
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
以下是站长大人提供的代码:我使用时总是提示'拒绝访问'的错误信息.不何故,
我使用的是WIN2000.
uses printers;
// 將指定的印表機暫停列印
function PausePrinter(PrinterName:string):Boolean;
var p: Cardinal;
begin
result:=False;
if OpenPrinter(pchar(PrinterName),p,nil) then
begin
If not SetPrinter(p,0,NIL,PRINTER_CONTROL_PAUSE) then
begin
showmessage(SysErrorMessage(GetLastError));
end
else Result:=true;
ClosePrinter(p);
end;
end;
// 將指定的印表機取消暫停列印
function ResumePrinter(PrinterName:string):Boolean;
var p: Cardinal;
begin
result:=False;
if OpenPrinter(pchar(PrinterName),p,nil) then
begin
If not SetPrinter(p,0,NIL,PRINTER_CONTROL_RESUME) then
begin
showmessage(SysErrorMessage(GetLastError));
end
else Result:=true;
ClosePrinter(p);
end;
end;
// 使用範例
procedure TForm1.Button1Click(Sender: TObject);
begin
PausePrinter('HP LaserJet 1100');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ResumePrinter('HP LaserJet 1100');
end;
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
SetAbortProc(HDC hdc, // handle of device context
ABORTPROC lpAbortProc // address of abort function
);
该函数设置一个回调函数,在hdc打印过程中,会不停的调用这个回调函数AbortProc,其中回调函数AbortProc声明如下:
AbortProc( HDC hdc, int iError);
参数iError是出错码,0表示没有错误,常数SP_OUTOFDISK表示磁盘空间不够用了.
函数返回值: True 表示继续打印, false表示终止打印 其它资料参见:
〔转贴一份资料〕
AddPrinterConnection 為目前用戶建立與列印機的聯繫 否 是 是
StartPagePrinter 開始列印機 否 是 是
StartDoc 開始列印作業 是 是 是
StartDocPrinter 開始列印作業 否 是 是
AddPrintProvidor 加入一個列印機支援器 否 是 是
AddForm 加入一個列印機窗體 否 是 是
AddPort 加入一個列印機連接埠 否 是 是
AddMonitor 加入一個列印機管理器 否 是 是
ShellExecute 打開或列印指定文件 否 是 是
ClosePrinter 關閉打開的列印機 否 是 是
WritePrinter 向列印機輸出數據 否 是 是
AddPrinter 在列印機伺服器上建立一個列印機 否 是 是
SetAbortProc 設備列印作業的放棄函數 否 是 是
SetPrinter 設定列印機資訊 否 是 是
SetPrinterData 設定列印機組態 否 是 是
SetJob 設定列印作業資訊 否 是 是
ResetPrinter 設定列印數據型式和設備模式值 否 是 是
DeletePrinterConnection 解除與列印機的連接 否 是 是
DeletePrintProcessor 解除列印機處理器 否 是 是
DeletePrinterDriver 解除印表機驅動程式 否 是 是
DeletePrinter 解除列印機伺服器上的列印機 否 是 是
DeleteMonitor 解除列印機顯示器 否 是 是
DeletePrintProvidor 解除列印機提供者 否 是 是
DeleteForm 解除列印機窗體層差 否 是 是
AbortPrinter 解除列印機緩衝文件 否 是 是
DeletePort 解除列印機連接埠 否 是 是
AddJob 啟動一個列印作業 否 是 是
AdvancedDocumentProperties 進行列印機進階設定 否 是 是
PrintDlg 建立列印文本對話方塊 否 是 是
EnumPrintProcessors 枚舉已裝設的列印機處理器 否 是 是
EnumPrinterDrivers 枚舉已裝設的印表機驅動程式 否 是 是
EnumPorts 枚舉可用列印機連接埠 否 是 是
EnumPrintProcessorDatatypes 枚舉列印機所支援的數據型式 否 是 是
EnumForms 枚舉所支援的列印機窗體 否 是 是
AbortDoc 終止一項列印作業 是 是 是
PrinterProperties 修改列印機屬性 否 是 是
AddPrintProcessor 將列印處理器復制到列印機伺服器中 否 是 是
AddPrinterDriver 將印表機驅動程式復制到列印機伺服器中 否 是 是
PrinterMessageBox 顯示列印作業出錯資訊 否 是 是
ConnectToPrinterDlg 顯示瀏覽對話並連接網路列印機 否 是 是
EndPagePrinter 結束列印頁 否 是 是
EndDoc 結束列印作業 是 是 是
EndDocPrinter 結束列印作業 否 是 是
StartPage 準備列印機接收數據 是 是 是
WaitForPrinterChange 監測列印機或列印機伺服器變化 否 是 是
GetPrintProcessorDirectory 獲取列印機驅動處理器路徑 否 是 是
GetPrinterDriver 獲取印表機驅動程式資訊 否 是 是
GetPrinterDriverDirectory 獲取印表機驅動程式路徑 否 是 是
GetPrinter 獲取列印機資訊 否 是 是
GetPrinterData 獲取列印機組態資訊 否 是 是
GetForm 獲取列印機視窗資訊 否 是 是
EnumJobs 獲取列印作業資訊 否 是 是
GetJob 獲取列印作業資訊 否 是 是
OpenPrinter 獲取指定列印機的句柄 否 是 是
ReadPrinter 讀列印機數據 否 是 是
DocumentProperties 組態列印機設定 否 是 是
ConfigurePort 組態列印機連接埠 否 是 是
|
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |