专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

打印机端口如何检测

发布时间:2011-06-28 12:41:28 文章来源:www.iduyao.cn 采编人员:星星草
打印机端口怎么检测 - C++ Builder / Windows SDK/API
我做了一个打印控件,主要是打印那种POS小票的,由于这种小票机用的端口基本都是并口,但是现在很多电脑没有并口,所以一般都是安装一个usb口驱动,虚拟出一个串口或并口,这种虚拟的端口只有插上线才会出现。

现在的问题是:我怎么知道这个虚拟的端口是什么口?COM3?COM4?不能让用户去选择,用户想直接插上打印机就用.

------解决方案--------------------
枚举,不知道行的通行不通。比如打开com1如果接有鼠标的话就会收到字符“M”不知道打印机会不会也有个设备标识,就是开机的时候告诉系统他是什么设备的代码,如果有就这样判断就ok了
------解决方案--------------------
你用虛擬串口,usb轉串口的話
提醒你一下:
串口號>=10的話,打開串口請注意
Example for C/C++/C#:
hPort = CreateFile("\\\\.\\COM10", ...);

Example for VB:
hPort = CreateFile("\\.\COM10", ...);

Example for Delphi:
hPort := CreateFile('\\.\COM10', ...);
------解决方案--------------------

打印机协议里面应该会有 握手形式的 指令吧,, 一般设备都有,发送相应指令过去,如果能返回,这个口就是能用的。

不知道你的打印机有没有这样的功能。。

比方说前阵用到 S&-200 ppi的协议 它有这么一个功能

向串口发送 10 02 00 49 4B 16
如果该串口上设备准备好了 它返回 :10 02 5C 5E 16 我就靠这个认为设置在此串口上。。


------解决方案--------------------
在不同的电脑上是一样的。
VID和PID分别是指 Vendor ID(生产厂商ID) 和 Product ID(产品ID)。
这两个值取决于设备,准确说是设备上的usb控制芯片,不同的usb控制芯片,这两个值就不同。
同一类型usb设备,这两个值是完全相同的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: