使用 C# 在 Windows 中启用/禁用硬件设备

Enabling / Disabling a Hardware Device in Windows using C#

我正在做一个项目,需要我在 Windows 中检查禁用的设备,如果发现该设备被禁用,程序应该启用它。

我一直在使用之前答案中的以下解决方案..

How do I disable a system device programatically?

虽然我在 运行 时收到以下错误...

我正在调用链接 post 中所示的程序,并且 运行 我的程序一开始就调用它,

private void Form1_Load(object sender, EventArgs e)
    {

        DisableHardware.DisableDevice(n => n.ToUpperInvariant().Contains("VID_11CA&PID_0219"), false);

    }

在我用于测试的系统上,我已经禁用了设备(我希望启用它)。我尝试在不同的构建配置(x86、AnyCPU)上构建,并在 Windows XP 和 Windows 7 上进行了测试,但问题相同。

有什么建议吗?

经过大量的头痛和反复试验之后,最好的解决方案是简单地使用 devcon 来处理我的设备管理,并通过我的程序使用适当的参数来处理 devcon 的执行。