|
5
|
| BlueRaja - Danny Pflughoeft · 技术社区 · 15 年前 |
|
|
1
2
我还建议枚举设备,但您可以尝试以下函数,以查看它是否快速而优雅地挂起(我目前没有任何方法测试此…):
这可能会返回比尝试使用DC打印更好的故障。 如果可以,在打开DC进行打印之前,不要忘记对从createfile返回的句柄调用closeHandle()。 |
|
|
2
3
在Windows中使用打印机时,实际上不应该直接使用端口,而是通过打印机驱动程序接口。这会使您对如何进行通信的知识变得过时,并为您提供了一个适用于所有打印机的工具箱,不管其品牌和端口如何。 Windows API为您提供了许多从驱动程序中提取额外信息的可能性。在我14年的打印机开发过程中,微软从未添加过对丰富打印机状态的支持(尽管我不知道他们是否在Windows7中改变了这一点)。我们和许多其他打印机开发人员一样,必须扩展打印机驱动程序,以便向应用程序提供更多信息。 您应该询问打印机开发人员是否有Windows CE驱动程序。我不确定插入/拔出并行打印机时是否生成设备更改消息。它适用于USB打印机(不需要在注册表中乱搞)。 您可以阅读有关打印子系统的更多信息 here |
|
|
3
2
如果是USB打印机,您可以在继续之前查看USB打印机类驱动程序注册表项,查看它是否已插入。 |
|
|
4
2
是否尝试使用Windows CE端口监视器功能? http://msdn.microsoft.com/en-us/library/ms893529.aspx |
|
|
5
2
一种可能性是 enumerate devices 并检查是否正在枚举您的设备。不确定它是否在WinCE上工作 |
|
6
0
我不知道你是否使用.NET托管代码,但这里有一个链接,说明如何使用VB.NET(可以转换为C++.NET托管)使用LPT端口: http://support.microsoft.com/default.aspx?scid=kb;en-us;823179 希望这有帮助! |