以下のコードを使用して、Windows のすべてのデバイス ドライバーを反復処理しています。INF 名はわかりますが、INF の場所がわかりません。どんな助けも素晴らしいです。
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_PnPSignedDriver");
foreach (ManagementObject obj in searcher.Get())
{
if(obj["DriverProviderName"] != null)
{
foreach (PropertyData prop in obj.Properties)
{
Console.WriteLine("{0}: {1}", prop.Name, prop.Value);
}
}
}
出力: InfName: hal.inf
hal.inf の場所はどこですか? すべてのデバイス ドライバーをバックアップするアプリケーションを作成しようとしています。
Hal.inf は単なる例です。
プロパティ出力の例:
キャプション ClassGuid {4D36E968-E325-11CE-BFC1-08002BE10318} CompatID PCI\VEN_10DE&DEV_0422&REV_A1 CreationClassName 説明 NVIDIA GeForce 8400 GS デバイスクラスの表示 DeviceID PCI\VEN_10DE&DEV_0422&SUBSYS_C7323842&REV_A1\4&31ADF711&0&0008 デバイス名 NVIDIA GeForce 8400 GS DevLoader DriverDate 20120515000000.******+*** ドライバー名 DriverProviderName NVIDIA ドライバーバージョン 6.14.13.142 分かりやすい名前 ハードウェア ID PCI\VEN_10DE&DEV_0422&SUBSYS_C7323842&REV_A1 InfName oem25.inf インストール日 IsSigned True 場所 PCI バス 1、デバイス 0、機能 0 メーカー NVIDIA 名前 PDO\Device\NTPNP_PCI0021 署名者 Microsoft Windows ハードウェア互換性発行者 開始 開始モード 状態 システム作成クラス名 システム名