使用C#和.net Framework创建所有本地安装的驱动程序列表的最佳方法是什么?
它适用于基于Vista的Windows版本。
列表应包含:
感谢任何建议/帮助。
直到现在我发现了一个wmi查询:指向正确的方向 Win32_PnPSignedDriver class (“从Win32_PnPSignedDriver中选择*”)
答案 0 :(得分:1)
这应该让你开始:
SelectQuery query = new System.Management.SelectQuery(
"select name, pathname from Win32_Service");
using (ManagementObjectSearcher searcher =
new System.Management.ManagementObjectSearcher(query))
{
foreach (ManagementObject service in searcher.Get())
{
Console.WriteLine(string.Format(
"Name: {0}\tPath : {1}", service["Name"], service["pathname"]));
}
}
答案 1 :(得分:1)
要获取驱动程序列表,请使用powershell脚本:
Get-WmiObject -Class "Win32_PnPSignedDriver" | Select Caption, Description, DeviceID, DeviceClass, DriverVersion, DriverDate, DriverProviderName, InfName
要获取驱动程序路径列表,请使用powershell脚本:
Get-WmiObject -Class "Win32_PnPSignedDriverCIMDataFile" | Select Dependent| foreach {
$y = $_ -match '(?<=")(.*?)(?=")'
$Matches[0]
}
目前我还不确定此查询是否还有其他驱动程序不匹配。
在C#中使用Powershell使用:System.Management.Automation