C++ 识别不同计算机上的设备

C++ 识别不同计算机上的设备,c++,windows,winapi,C++,Windows,Winapi,我在这里读到: 将HID、PID、VID和GUID嵌入设备的硬件中 那么,以下几点有意义吗 我拿了一个USB键盘,把它插入我的电脑 我读出了设备的HID、PID、VID和GUID,并将其保存在某个地方 我将这个HID、PID、VID和GUID发送到我朋友的计算机 我的朋友插上了USB键盘 如果HID、PID、VID和GUID匹配,则我们有相同类型的键盘,甚至可能是相同的键盘,如果不匹配,则我们没有键盘类型 我问这个问题是因为我想区分不同计算机上的不同键盘,这是正确的方法吗?是的,这是正确的。如

我在这里读到:

将HID、PID、VID和GUID嵌入设备的硬件中

那么,以下几点有意义吗

  • 我拿了一个USB键盘,把它插入我的电脑
  • 我读出了设备的HID、PID、VID和GUID,并将其保存在某个地方
  • 我将这个HID、PID、VID和GUID发送到我朋友的计算机
  • 我的朋友插上了USB键盘
  • 如果HID、PID、VID和GUID匹配,则我们有相同类型的键盘,甚至可能是相同的键盘,如果不匹配,则我们没有键盘类型

  • 我问这个问题是因为我想区分不同计算机上的不同键盘,这是正确的方法吗?

    是的,这是正确的。如果PID和VID匹配-它是相同类型的键盘。如果所有内容都匹配,则是同一个键盘。

    您确定吗?因为我的笔记本电脑上有两个USB键盘(一个是扫描仪,但注册为键盘)。它们都有相同的guid,相同的pid,但是不同的vid。另外,我的笔记本电脑上的键盘没有PID&VID,但它有一个GUID,GUID与我的两个USB键盘的GUID相匹配。它的设计是这样的:VID是一个供应商ID,在世界范围内是唯一能够区分供应商的。假设供应商将PID分配给不同的产品。但是,任何人都不能阻止一家供应商生产具有相同PID的两台设备。