3

ATIとNVIDIAの両方のいくつかの異なるグラフィックカードで実行できるソフトウェアがあります。ドライバをインストールする前に、グラフィックカードのデバイスIDまたはモデル名を判別できる必要があります。これにより、サポートされている任意のグラフィックカードで起動できるハードドライブイメージを作成できます。最初の起動時にグラフィックカードを検出し、ドライバをインストールしてから再起動します。ターゲットプラットフォームはWinXPです。

WMIを使用してみましたが、デバイスIDを含まないディスプレイアダプターに関する情報しか取得できません。ドライバーをインストールする前に、ディスプレイアダプターには、名前に「ビデオコントローラー(VGA)」などの一般的なデータが含まれています。すぐ。

EnumDisplayDevicesは、ドライバーがインストールされるまでデバイスを検出できません。

新しいハードウェアウィザードを開くと、グラフィックカードの名前がわかるため、これは可能である必要がありますが、その方法が見つかりません。

何か案は?

編集-これがクエリです

ExecQuery(bstr_t("WQL"),bstr_t("SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE 'PCI\\VEN'"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator);
4

1 に答える 1

3

他のユーザーのための将来の参照のために、私は自分の答えを追加します。

私の投稿で述べたこととは異なり、WMIは実際にはアンインストールされたデバイスを検出できます。Win32_PNPEntityをクエリすることで、デバイスIDを取得できます。

于 2012-05-09T15:56:44.693 に答える