C# 打开本地USB001端口总是失败

littleboy_6235573 2010-06-17 05:31:58
我有一个。NET WEB项目,要用到POS58打印,接口是USB的,端口名称是“USB001”,但在调用的时候一直打不开这个端口,我用的是GPrinter 58热敏票据打印,在打开端口的时候我引用如下:
[DllImport("POSDLL.dll", CharSet = CharSet.Ansi)]
public static extern IntPtr POS_Open([MarshalAs(UnmanagedType.LPStr)]string lpName,
uint nComBaudrate,
uint nComDataBits,
uint nComStopBits,
uint nComParity,
uint nParam);
...全文
1450 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
littleboy_6235573 2010-07-09
  • 打赏
  • 举报
回复
串口‘LPT1’可以打开,但USB001不能打开,现在驱动也正常了
littleboy_6235573 2010-07-09
  • 打赏
  • 举报
回复
public bool OpenUSBPort(string USBPortName)
{
POS_IntPtr = POS_Open(USBPortName, 0, 0, 0, 0, POS_OPEN_BYUSB_PORT);
if ((int)POS_IntPtr != -1)
return true;
else
return false;
}

USBPortName:'USB001'
POS_OPEN_BYUSB_PORT:0x13
调用上面的方法一直为FALSE
捷哥1999 2010-06-19
  • 打赏
  • 举报
回复
找硬件的时候,我再为它装驱动,不管怎么装都装不上,我要不要理它?
请问各位大侠,你们有打开过USB端口的经历吗,而且是以网站的形式打开,不是WINFORM

这要当然有问题了,打印机没有硬件驱动,怎么能正常工作。


要在保证系统正确识别了打印机的情况下,再做应用层的处理!
doubleu2005 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 littleboy_6235573 的回复:]

难道各位都没有在WEB项目中用过吗
[/Quote]
只在winform里用过
chenmeng55 2010-06-19
  • 打赏
  • 举报
回复
顶,给个完整访问usb的程序吧
littleboy_6235573 2010-06-19
  • 打赏
  • 举报
回复
难道各位都没有在WEB项目中用过吗
vip__888 2010-06-19
  • 打赏
  • 举报
回复
学习。
doubleu2005 2010-06-19
  • 打赏
  • 举报
回复
找硬件的时候,我再为它装驱动,不管怎么装都装不上,我要不要理它?
如果能打印出测试页的话应该算正常,我的都是自动识别安装的
网站打开usb还真不懂
littleboy_6235573 2010-06-19
  • 打赏
  • 举报
回复
找硬件的时候,我再为它装驱动,不管怎么装都装不上,我要不要理它?
请问各位大侠,你们有打开过USB端口的经历吗,而且是以网站的形式打开,不是WINFORM
doubleu2005 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 littleboy_6235573 的回复:]

我这个打印机可以在“打印机和传真”里看到,也能打印,但每次插入USB的时候,它又会重新检测新硬件,这种情况算不算是驱动正常,会不会影响端口的打开
[/Quote]
如果可以自动检测并自动安装驱动的话可以认为是正常的,虚拟的usb嘛肯定要找硬件的
littleboy_6235573 2010-06-19
  • 打赏
  • 举报
回复
我这个打印机可以在“打印机和传真”里看到,也能打印,但每次插入USB的时候,它又会重新检测新硬件,这种情况算不算是驱动正常,会不会影响端口的打开
littleboy_6235573 2010-06-19
  • 打赏
  • 举报
回复
楼上的(computerfox)
我在打印机和传真那里可以打印的,
皇城龙三 2010-06-17
  • 打赏
  • 举报
回复
你先看看数据通道是否正常

建立一个虚拟打印机,看打印出来的数据是否对

然后看看你的驱动是否正确

现在很多热敏打印机都是北洋的驱动,是因为你拆开机器就能看见,核心的东西是国外的,所以很多驱动都一样。

北洋的热敏,USB的有时候是有问题,安装的时候有个技巧

我以前也遇到过你这个问题,解决的办法是:安装的时候先按串口装,装完了在驱动属性里面再改成USB的

因为直接装USB的,很多会有问题,我装过50多台,其中20多台都有USB的问题

或者你可以直接换成串口的,北洋系列的打印机后面的接口是可以更换板子的,其他的热敏打印机也都一样

还有一个你要注意,就是字库问题

热敏打印机最好用自带的字库

否则以后会有个别字打出来是方框
littleboy_6235573 2010-06-17
  • 打赏
  • 举报
回复
楼 上 说 的 很 正 确 确 实 在 调 用 的 时 侯 很 多 参 数 是 0 没 有 异 常 信 息
我 是 引 用 网 上 的 北 洋 打 印 源 码 调 用 一 个 API
doubleu2005 2010-06-17
  • 打赏
  • 举报
回复
这个usb001是虚拟的,如果你再连一台打印会再多一个usb002,如果你要使用这种usb打印机,只能将它设为默认打印机,再用 printDocument.Print();来打印,而且你的POS_Open感觉像串口用的,usb哪来的波特率,停止位等等参数????
捷哥1999 2010-06-17
  • 打赏
  • 举报
回复
打开失败,具体的原因是?有异常信息吗?贴出来!
littleboy_6235573 2010-06-17
  • 打赏
  • 举报
回复
迫切需要答案!!

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧