以下のコードを使用して、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 ハードウェア互換性発行者
開始
開始モード
状態
システム作成クラス名
システム名