如何以编程方式重置USB端口

时间:2016-08-08 14:48:08

标签: c#

我们的系统通过USB连接到PC的设备进行连接。在某些情况下,介于两者之间,因此它是RS-232到USB的转换。是否可以告诉设备管理器删除端口然后将其重新添加? 我想这样做,所以各种设备的驱动程序(在某些情况下超过1,如通过USB串行适配器的设备)全部重置。似乎删除端口然后重新添加它将确保所有驱动程序重新连接。这很重要,因为一些第三方驱动程序可能会“卡住”,并且由于线程,它不再可能使用它。这意味着它需要物理删除连接或完全重置系统。

所以我希望有人知道是否有一种简单的方法可以连接到设备管理器,找到Ports删除它们然后重新连接它们。像这样:

public class DeviceManagerWrapper
{
    public void ResetAllPorts()
    {
        using(var deviceManager = new System....DeviceManager()
        {
            foreach(var port in deviceManager.GetPorts())
            {
                 port.Disconnect();
                 port.Reconnect();
            }
        }
    }
}

显然这不起作用。只是希望有人指出我正确的方向。

0 个答案:

没有答案