1

これは2部構成の質問です。

まず第一に、これが私のコードです:

#include<iostream>
#include<Windows.h>

extern "C"
{
#include<hidsdi.h>
#include<SetupAPI.h>
}

int main()
{
    int iQuit;
    GUID guid;

    HidD_GetHidGuid(&guid);
    //SetupDiGetClassDevs(NULL, NULL, NULL, 

    std::cout << "testing program" << std::endl;
    std::cout << guid.Data1 << std::endl;
    std::cout << guid.Data2 << std::endl;
    std::cout << guid.Data3 << std::endl;
    std::cout << guid.Data4 << std::endl;

    std::cin >> iQuit;

    return 0;
}

結果が出力されます。

1293833650
61807
4559
//Data4 prints out e pie for some reason.

だから私の最初の質問は、私がここに持っているGUIDがどのデバイスに属しているかを確認する方法はありますか?デバイスマネージャのセクションを見ましたが、見つかりません。

2番目の質問は、すべてのデバイスをループして、すべてのGUIDをコンピューターに保存するにはどうすればよいですか?

どんなアドバイスや助けも大歓迎です。そして長いメッセージでごめんなさい

ありがとう

4

1 に答える 1

3

この関数HidD_GetHidGuidは、単一のデバイスのGUIDではなく、すべてのHIDクラスデバイスのGUIDを返します。

すべてのデバイスを列挙するには、SetupDiGetClassDevsの例5を参照してください。

于 2012-05-08T15:56:15.370 に答える