【发布时间】:2012-12-17 17:49:15
【问题描述】:
我有一个 C# 程序,它使用多种方法操作 2 根线,其中一种是使用并行端口接口。
用户选择他们想使用的方法,我想根据机器上可用的内容过滤选项。
我一直使用inpout32.dll 进行并行端口通信,但如果计算机没有并行端口,它不会出错,所以我需要另一种方式来告诉。
我已经看到很多示例,这些示例查找可用的打印机以查找端口,但没有连接打印机,因此此解决方案不起作用。
【问题讨论】:
-
虽然可能有一些方法可以检测系统上是否存在这样的设备(如设备管理器中所见),但会有很多系统存在该设备(电路和 IO 端口存在),但是没有实际的物理端口焊接到主板上(或者可能有引脚或其他一些内部连接器,您可以将串行端口连接到扩展槽支架上)。我看不出您如何能够检测到物理 DB-25 连接器的存在,而不是未连接的引线,这意味着在一般情况下可能无法检测到。
-
@AllonGuralnek 我从来没有见过没有实际端口的具有并行端口控制器硬件的系统,因此确定它是否在设备管理器中对我来说就足够了(这是内部软件)。我已经看到了您所描述的内容,但仅适用于 USB 端口和音频设备,或者在 SOC 而不是 PC 上。
-
我的台式计算机带有一个并行端口,您必须将其插入主板并连接到可用的扩展槽支架(我没有理由这样做)。我见过许多计算机和笔记本电脑,它们的芯片组支持并行端口(并出现在设备管理器中),但找不到物理端口(因为它基本上已经消失了)。我认为这可能比你想象的更普遍。
标签: c# parallel-port