Che*_*tah 15 .net c# operating-system device
有没有办法从C#.NET禁用系统设备.
当您转到设备管理器并以此方式禁用设备时,基本上是模拟的吗?
我假设有一个我可以调用的WinAPI函数,但我不知道它是哪一个?
我需要这样做的原因是我需要在再次启用设备后禁用并直接启用.
我需要在Windows XP和Vista(x86和x64)中工作.我看了一下名为"DevCon"的东西,但它似乎不适用于Vista x64.
谢谢.
有关答案,请参阅此处:如何以编程方式禁用系统设备?
Mel*_*een 12
CodeProject上的这篇文章有一些非常好的C#代码来完成这个:
http://www.codeproject.com/KB/cs/HardwareHelper.aspx
最后,您只需拨打电话,例如:
HH_Lib hwh = new HH_Lib();
hwh.SetDeviceState("MyDevice", /*Enable*/ true);
hwh.SetDeviceState("MyDevice", /*Disable*/ false);
Run Code Online (Sandbox Code Playgroud)

为了得到Mel Green的答案,硬件帮助程序库使用interop来调用Windows API(setupapi),特别是SetupDiSetClassInstallParams方法.当然这里还有其他调用用于查找设备细节等.
有一点需要考虑,如果您作为标准用户或非特权帐户运行,您将无法使用它来控制(启用/禁用等)硬件设备.
有关详细信息,请查看http://www.pinvoke.net(以及特定的电话:http://pinvoke.net/default.aspx/setupapi.SetupDiSetClassInstallParam)
| 归档时间: |
|
| 查看次数: |
28740 次 |
| 最近记录: |