小编N_t*_*o_P的帖子

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

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

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

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

显然这是行不通的。只是希望有人能指出我正确的方向。

c#

7
推荐指数
0
解决办法
6018
查看次数

标签 统计

c# ×1