如果我要偵測我的電腦是否有送資料到印表機 |
尚未結案
|
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
修改成為共同的temp檔位置阿 這樣你可以試市 不過真實離線之狀況 你需考慮喔 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
我不知道你是Lan下的分享 印表機 控制
如果是
1 當user要使用分享印表機 時 需透過你的ap來登入才能列印此時而外的判斷還有不少
2 此時開始由server偵測 印表機的暫存檔 紙張數量
3 由於這不是自己寫的 虛擬印表機 但是我們可以使用分享控管機制來達成
4 印表機之暫存檔位置可由reg更改 放置我們信認的server不一定是 本身主機上 以免當機 不過它也會比較慢
將所有的Lan的印表機暫存檔位置 修改為server上 此時再由常駐程式偵測 如此也可以知道 是那台電腦之需求 不過此法是否能知道張數可要自己試看看 對了 別說 請教副站長 因為庵不會寫程式 庵只會騙ㄘ騙喝 這個不會與那個也不會 哈哈哈 粉好
【BCB】【問題】請問:如何在BCB中得知印表機 Spool 中有多少 Jobs 還沒列印
http://delphi.ktop.com.tw/topic.php?topic_id=23801
印表機中斷 int 17H 有哪些參數
http://delphi.ktop.com.tw/topic.php?topic_id=18968
【問題】請問 用 QuickReport 的報表分送到不同印表機
http://delphi.ktop.com.tw/topic.php?topic_id=25216
【問題】如何讀printer port傳進來的資料
http://delphi.ktop.com.tw/topic.php?topic_id=21666
【BCB】【問題】並列埠控制
http://delphi.ktop.com.tw/topic.php?topic_id=23183
一個 Regedit.exe登錄檔 資料網站
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26255 http://www.winguides.com/registry/ 你也可以去此站找找 reg的資料喔
其他的你可能要自己找一下ktop的報表區與硬體區了 祝你好運 如果可以的話可以 分享你的部份資料 那其他版主才能更幫你試試 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
參考 Enumerate the printer jobs:
http://www.q3.nu/trucomania/truco.cgi?514&ing
轉貼如下:
procedure TForm1.Button1Click(Sender: TObject); Function AbreImpresoraPorDefecto: THandle; const Defaults: TPrinterDefaults = ( pDatatype : nil; pDevMode : nil; DesiredAccess : PRINTER_ACCESS_USE or PRINTER_ACCESS_ADMINISTER ); var Device, Driver, Port : array[0..255] of char; hDeviceMode: THandle; begin Printer.GetPrinter(Device, Driver, Port, hDeviceMode); if not OpenPrinter(@Device, Result, @Defaults) then RaiseLastWin32Error; end; type TTrabajos = array [0..9000] of JOB_INFO_1; PTrabajos = ^TTrabajos; var MangoPrinter : Thandle; PTrabajo : PTrabajos; BytesRecibidos : DWord; TrabajosRecibidos : DWord; i : integer; begin MangoPrinter:=AbreImpresoraPorDefecto; try {Hallamos cuantos bytes ocupara la enumeracion de trabajos} EnumJobs( MangoPrinter,0,9000,1,Nil,0, BytesRecibidos, TrabajosRecibidos ); {Reservamos memoria para la respuesta} PTrabajo := AllocMem( BytesRecibidos ); try {Enumeramos los trabajos} if NOT EnumJobs( MangoPrinter, 0, //Empezando por el primero 9000, //Numero de jobs a enumerar 1, PTrabajo, BytesRecibidos, BytesRecibidos, TrabajosRecibidos) then RaiseLastWin32Error; Memo1.Lines.Clear; Memo1.Lines.Add('Trabajos: ' IntToStr(TrabajosRecibidos) ); {Llenamos el Memo1 con datos de los trabajos} for i:= 0 to Pred(TrabajosRecibidos) do memo1.lines.add( PTrabajo^[i].pDocument ' - ' PTrabajo^[i].pMachineName ' - ' IntToStr( PTrabajo^[i].TotalPages ) ); finally {Liberamos la memoria usada en la respuesta} FreeMem( PTrabajo ); end; finally {Cerramos la impresora} ClosePrinter(MangoPrinter); end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |