如題,我有一臺遠程列印機,列印前會作一次“列印頭清洗”,如下圖,點了之后,遠程的列印機就會開始清洗列印頭。我想發送這種網路命令應該是可以監控的(獲取其發送的命令格式什么的),我現在想不要每次都點開控制面板、點出這個界面來這樣操作,想直接用VB實作點一下就開始清洗了。請教大神些指點一下,萬分感謝!
uj5u.com熱心網友回復:
如果找不到這個硬體的“指令通訊”操作介面資料(相關驅動的API),那就難以實作了。除非你把它這個控制面板的cpl檔案反匯編,然后看懂了它呼叫了哪些API、傳遞了什么樣的引數,
否則不可能在自己的程式中直接實作。
有一個比較現實的方法,就是在VB中,“實作點一下”打開這個控制面板視窗,然后在這個視窗中進行相應的操作。
這樣就不用從系統的“控制面板”去找到,再打開它了。
uj5u.com熱心網友回復:
這個視窗到是可以調出來。然后就是取視窗句柄什么的……
uj5u.com熱心網友回復:
調出“列印機首選項”我倒是有代碼:
Call Shell("rundll32 printui.dll,PrintUIEntry /e /n """ & Printer.DeviceName & """", vbHide) '顯示列印機首選項
其實我是想能夠直接向遠程列印機的某個埠發送“清洗列印頭”的“命令”就行了,或者是不是可以通過sniffer等軟體來抓取網路資料包,獲得它發送的命令是什么,從而來獲得方法呢?
uj5u.com熱心網友回復:
我用delphi做過控制斑馬列印機列印條碼,列印機是有一定代碼的,樓主搜搜,用到你的VB程式里進行控制。uj5u.com熱心網友回復:
謝謝,列印機不一樣,可能代碼不一樣吧。下圖是我用抓包軟體抓到的資訊(遠程清洗列印頭時抓的),想從這方面入手,無奈看不明白(感覺它還用了不少其他的網路協議)。
uj5u.com熱心網友回復:
樓主還是想法找一下“通訊”的資料吧。uj5u.com熱心網友回復:
不是這樣呼叫。我印象中是個回圈,判斷選單名稱,然后直接呼叫。就可以出來了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/92509.html
標籤:網絡編程
上一篇:用vs2012 使用vb.net語言,制作一個windows表單運用程式,
下一篇:vb.net的timer
