用于USB端口的Windows表单应用程序

时间:2014-08-10 21:54:24

标签: c++ visual-studio-2010 api usb winusb

以前我使用Windows窗体应用程序来建立一些RS232连接。我使用已经提供的串口组件(SerialPort),我能够相对容易地建立RS232通信。

现在,我想知道在Winodows Form应用程序中是否会有类似的东西来建立USB通信?

似乎有这个WinUSB API提供与设备的非常低级别的接口。 但是,我不确定那会有多容易?另外,不确定集成到Windows窗体应用程序有多容易?!

是否会有更简单的USB接口API版本?

我不必坚持使用Visual Studio。除了WinUSB之外,还有其他c ++ USB API,这是人们使用的标准吗?我想开发一个GUI API,通过USB进行一些通信。如果需要,我可以使用Python或其他一些工具,如果它促进了这个过程吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

虽然USB是串行协议,但您不能像处理串口一样对待USB:

它取决于实际设备是什么。例如移动电话,可以提供几个端点"对于USB,一个是将手机用作调制解调器的串行端口,一个是存储设备,允许您将照片和音乐文件传输到手机存储设备,以及作为可以拍摄照片的相机设备。所有这些都有不同的行为,需要USB驱动程序插件才能使其正常运行 - 这些通常随Windows一起提供,而您的手机将显示为COM5:,E:或"三星Galaxy S3 Mini"驱动器和摄像机和扫描仪下的摄像头"。

当然,您可以以编程方式打开所有这些设备,但它是作为它们在窗口内部呈现的设备类型完成的(因此您使用串行端口功能或文件功能或相机功能)。

如果您有足够的工作细节,也可以为设备编写设备驱动程序。

但是没有真正的方法可以打开端口"。 USB API是驱动程序API,而不是用户模式API。这是一个从了解USB驱动程序开始的页面: http://msdn.microsoft.com/en-gb/library/windows/hardware/ff540215%28v=vs.85%29.aspx

有一个WinUSB驱动程序,允许单个应用程序访问单个设备,假设您知道如何操作该设备。