線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2192
推到 Plurk!
推到 Facebook!

請問:如何在BCB中得知印表機 Spool 中有多少 Jobs 還沒列印

答題得分者是:RaynorPao
lewis
一般會員


發表:1
回覆:3
積分:0
註冊:2002-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-11 16:46:38 IP:203.67.xxx.xxx 未訂閱
請問:如何在BCB中得知印表機 Spool 中有多少 Jobs 還沒列印 我想用這個資訊來檢查印表機是否不正常! 謝謝!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-11 16:52:48 IP:203.73.xxx.xxx 未訂閱
引言: 請問:如何在BCB中得知印表機 Spool 中有多少 Jobs 還沒列印
lewis 你好: 請查詢 M$DN or Platform SDK 關鍵字「EnumJobs」 --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-11 18:02:00 IP:202.39.xxx.xxx 未訂閱
參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21256    -- Everything I say is a lie.
lewis
一般會員


發表:1
回覆:3
積分:0
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-11 20:05:50 IP:61.229.xxx.xxx 未訂閱
RaynorPao 兄,感謝您的回答! 在 MSDN 中,曾經查到一個API--GetPrinter 有類似的功能,只是我一直試不出來。不知您了解這個 API 的用法嗎?可否提供簡單的範例讓我參考呢?不勝感激! hagar 兄,感謝您的答覆! 您所提的那篇文章我也曾看過,不過那是用 Delphi 所寫的,無法直接用到BCB 中。
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-12 01:17:17 IP:61.221.xxx.xxx 未訂閱
引言: 在 MSDN 中,曾經查到一個API--GetPrinter 有類似的功能,只是我一直試不出來。不知您了解這個 API 的用法嗎?可否提供簡單的範例讓我參考呢?不勝感激!
lewis 你好: 請參考以下做法 < class="code"> (1)GetPrinter const char *szPrinterName="xxxPrinter"; HANDLE hPrint; PRINTER_DEFAULTS pd; PRINTER_INFO_2 *pi2; BYTE pPrinter[2048]={0}; DWORD dwBuf=2048; DWORD dwNeed=0; // Open Printer pd.pDatatype=NULL; pd.pDevMode=NULL; pd.DesiredAccess=PRINTER_ALL_ACCESS; OpenPrinter(szPrinterName, &hPrint, &pd); GetPrinter(hPrinter, 2, pPrinter, dwBuf, &dwNeeded); pi2=(PRINTER_INFO_2*)pPrinter; ............................. printf("\njobs=%d", pi2->cJobs); ............................. ClosePrinter(hPrinter); (2)EnumJobs 和上面的寫法類似 就留給你自己寫吧< > 備註: (>仔細看< > ( > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
lewis
一般會員


發表:1
回覆:3
積分:0
註冊:2002-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-12 15:32:14 IP:203.67.xxx.xxx 未訂閱
多謝 RaynorPao 兄,我的問題已經解決了! 在此把我解決的函式列出,做一個回饋! // 取得印表機 Spool 中的工作數 int InvGetPrinterJobs(char *APrinterName) { HANDLE hPrint; PRINTER_DEFAULTS pd; PRINTER_INFO_2 *pi2; BYTE pPrinter[2048] = {0}; DWORD dwBuf = 2048; DWORD dwNeed = 0; int Result = 0; pd.pDatatype = NULL; pd.pDevMode = NULL; pd.DesiredAccess = PRINTER_ALL_ACCESS; if (OpenPrinter(APrinterName, &hPrint, &pd)) { if (GetPrinter(hPrint, 2, pPrinter, dwBuf, &dwNeed)) { pi2 = (PRINTER_INFO_2*)pPrinter; Result = pi2->cJobs; } ClosePrinter(hPrint); } return Result; }
系統時間:2024-04-25 23:23:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!