【问题标题】:How do I disable a system device? [duplicate]如何禁用系统设备? [复制]
【发布时间】:2010-09-20 02:42:31
【问题描述】:

有没有办法从 C#.NET 禁用系统设备。

基本上是在您进入设备管理器并以这种方式禁用设备时进行模拟?

我假设有一个可以调用的 WinAPI 函数,但我不知道它是哪一个?

我需要这样做的原因是我需要禁用并在再次启用设备后立即。

我需要在 Windows XP 和 Vista(x86 和 x64)中工作。我查看了一个名为“DevCon”的东西,但它似乎不适用于 Vista x64。

谢谢。

答案见这里:How do I disable a system device programatically?

【问题讨论】:

    标签: c# .net operating-system device


    【解决方案1】:

    进一步 Mel Green 的回答是,硬件帮助程序库使用互操作来调用 Windows API (setupapi),特别是 SetupDiSetClassInstallParams 方法。当然这里还有其他调用,用于查找设备详细信息等。

    需要考虑的一点是,如果您以标准用户或非特权帐户运行,您将无法使用它来控制(启用/禁用等)硬件设备。

    更多详情请查看http://www.pinvoke.net(具体电话:http://pinvoke.net/default.aspx/setupapi.SetupDiSetClassInstallParam

    【讨论】:

      【解决方案2】:

      我知道这是一个老问题,但我遇到了同样的问题。为了解决这个问题,我不得不使用TechNet wiki 上的新 DevCon。 CodeProject 文章很有帮助,但最后更容易依赖更新的 DevCon。不幸的是,它似乎只在超过 600mb 的Windows Driver Kit 中可用。

      【讨论】:

        猜你喜欢
        • 2011-05-05
        • 1970-01-01
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多