2

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

2 に答える 2

0

ドライバー ファイル自体に関する情報を取得するには、Win32_SystemDriverテーブルに対してクエリを実行します。ドライバー パスは、PathNameプロパティによって指定されます。

于 2012-06-25T21:50:26.280 に答える