日期:2014-05-17  浏览次数:20914 次

小票打印机
现有2台小票打印机,一台连接在电脑上,一台通过网络连接,现在我要是程序运行的时候判断这2台打印机是否是连接状态,我该如何做?

额,打印机还从未接触过,有源码的最好了。

------解决方案--------------------
遍列打印机。看看有没有两个打印机就可以了。
System.Drawing.Print命名空间
------解决方案--------------------
小票打印机,可以使用windows驱动,然后像一般打印一样打印。
但常用的是使用esc/pos打印指令直接向端口输出来控制打印,或者是pos for .net

使用windows驱动时对于状态的检测有时会有延迟,特别是在网络打印机上,这个好像没办法,因为我们只负责组织数据然后扔给系统,实际的打印过程是又系统控制的,对于API上提供的那些什么状态检测方法,发现实际没有多少意义。

使用指令打印,比较打印机是串口的,那么就直接操作串口就行了,如果断线了自然是连接超时或者是连接不上了,esc/pos有专门的状态检测指令,但事实也不尽如人意,特别是对网络打印机
------解决方案--------------------
獲得預設打印機就可以了,當一臺出故障不能用時,人工設置另一臺為預設打印机,就不存在選打印機的問題了.