使用C#/ pInvoke检测Windows XP上的错误设备

时间:2009-10-16 22:48:42

标签: c# windows-xp pinvoke

如何查询所有检测到的设备的状态?

设备是USB连接硬件(相机,信用卡读卡器),PCI总线连接硬件或硬盘驱动器。任何可以在设备管理器中显示为错误的东西都很有用。

2 个答案:

答案 0 :(得分:1)

WMI有效,但速度非常慢,并且有很多可动部件出错。如果您需要更快/更可靠的访问,请尝试使用SetupDI API(请参阅this)。 pinvoke.net可以帮助您开始使用C#声​​明。

答案 1 :(得分:0)

虽然我之前从未尝试过,但我认为你想要使用的是 WMI:Windows Management Instrumentation 。具体来说,您应该查看System.Management namespace

这是我发现的一个教程,它向您展示如何查询连接到系统的硬盘驱动器,以及如何查询正在运行的进程: - > http://msdn.microsoft.com/en-us/library/system.management.aspx

如果这有帮助,请告诉我。我之前考虑过使用WMI进行简单的Windows管理任务,但我总是最终使用简单的注册表脚本。