我正在编写一些软件,需要在连接到对接站的移动设备上以不同的方式运行。因此,我需要一种编程方法来检查计算机是否连接到C#/.NET中的对接站。
我尝试了以下几点:
不幸的是,所有这些似乎都不适用于“一刀切”的情况。他们会为我的一些测试设备工作,但对其他测试设备不起作用。
我需要穿越各种设备和对接站。是否有任何一致、可靠的方法来检查设备是否停靠在Windows中?
发布于 2012-10-02 08:36:06
没有一种通用的方法来表达这一点。许多端口只是以USB集线器的形式出现,带有一堆设备,并复制了一些IO端口,而有些端口实际上是一个“坞”,这将允许您已经尝试过的东西。
您可能需要做的是使用完整的硬件分析来检查。要求用户卸载笔记本电脑,检查所有附加设备,要求用户将其停靠,然后再次检查。您可能希望检查PCI和USB总线上的所有可枚举设备。
您还必须使用一些魔法来处理可移动设备,因此您必须在两次检查之前要求用户将它们全部删除。
发布于 2012-10-02 09:59:39
您可以考虑使用GetCurrentHwProfile并检查返回的信息的dwDockInfo字段。
https://stackoverflow.com/questions/12686820
复制相似问题