使用带有C#的USB打印机,带或不带驱动程序或API

Liq*_*ore 11 c# printing api usb driver

我不是一个C#专家,我做了一些尴尬的事情,如音乐程序的钢琴卷(因此生成一个带有数学等的WPF画布)和一些简单的程序来执行常见任务,如动态详细说明一些数据(数学运算,GUI交互等

我需要非常概括地了解如何在自己的计算机上检测USB打印机并使用它.我已经在谷歌搜索了这个,这就是我发现的:

链接1

链接2

链接3

链接4

链接5

链接6

和其他类似的链接告诉我理解的各种方法几乎没有:(

好的,这就是我想出的(我会尽量简短):

A)使用没有驱动程序的打印机(这个定义可能不准确,但我有点困惑......)

我应该:

1)找到一种方法来检测USB门以及通过产品ID和供应商ID连接到哪个设备.在Developerfusionarticle的特定情况下,authore解释了USB的一些基础知识,并告诉您使用人机接口设备来检测它.(我正在使用Windows 7,我找不到任何HID,只是其他随机的usb驱动器,而且我没有任何关于如何与它们交互的想法)

2)创建数据流并将它们连同命令一起发送到USB消息管道上的usb打印机(或witver设备).

B)使用带驱动程序或Windows API或预烘焙驱动程序的打印机:

我应该:

1)使用[MSDN System.printing libraries] [Link number 6]中的所有.NET类,并使用正确的方法直接引导打印机(在使用System.printing库查找设备之后)那些课......

好的,说明一下:

我真的没有想法正确的步骤,这就是我想问你的问题:

有关如何操作的步骤指导,特别是第一个(正如我在MSDN论坛上看到的问题,第二个问题实际上是研究代码的问题).我不希望你为我编写代码(尽管你可以,如果你想).我只是问一个一般的指导方针,哪些是实现最终结果的正确步骤.发布链接,无论有效......

Shr*_*pur 5

这个答案是选项A.

确实很困难的问题.从这种高级编程语言访问低级硬件非常困难.我以前使用Assembly来做,这可以给你非常低级别的控制.我唯一能想到的是libusb,它也有很好的C#包装器.它可以直接访问USB设备,如打印机.一个好的C#start将控制更简单的USB设备以获得它的悬念.确保您知道打印机如何解释从USB端口写入的数据.

C#绑定