有什么方法可以从 C#.NET 禁用系统设备。
基本上是在您进入设备管理器并以这种方式禁用设备时进行模拟?
我假设有一个可以调用的 WinAPI 函数,但我不知道它是哪一个?
我需要这样做的原因是我需要禁用并在再次启用设备后直接。
我需要在 Windows XP 和 Vista(x86 和 x64)中工作。我查看了一个名为“DevCon”的东西,但它似乎不适用于 Vista x64。
谢谢。
有关答案,请参见此处:如何以编程方式禁用系统设备?
有什么方法可以从 C#.NET 禁用系统设备。
基本上是在您进入设备管理器并以这种方式禁用设备时进行模拟?
我假设有一个可以调用的 WinAPI 函数,但我不知道它是哪一个?
我需要这样做的原因是我需要禁用并在再次启用设备后直接。
我需要在 Windows XP 和 Vista(x86 和 x64)中工作。我查看了一个名为“DevCon”的东西,但它似乎不适用于 Vista x64。
谢谢。
有关答案,请参见此处:如何以编程方式禁用系统设备?
为了进一步 Mel Green 的回答,硬件帮助程序库使用互操作调用 Windows API (setupapi),特别是 SetupDiSetClassInstallParams 方法。当然这里还有其他调用用于查找设备详细信息等。
需要考虑的一件事是,如果您作为标准用户或非特权帐户运行,您将无法使用它来控制(启用/禁用等)硬件设备。
有关更多详细信息,请查看http://www.pinvoke.net(以及具体调用: http: //pinvoke.net/default.aspx/setupapi.SetupDiSetClassInstallParam)
我知道这是一个老问题,但我遇到了同样的问题。为了解决这个问题,我不得不使用TechNet wiki上提供的新 DevCon 。CodeProject 文章很有帮助,但最后更容易依赖更新的 DevCon。不幸的是,它似乎只在超过 600mb的Windows Driver Kit中可用。