Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何获取USB硬盘物理序列号、供应商id、产品id_C++_Windows - Fatal编程技术网

C++ 如何获取USB硬盘物理序列号、供应商id、产品id

C++ 如何获取USB硬盘物理序列号、供应商id、产品id,c++,windows,C++,Windows,我想得到USB硬盘序列号,供应商id,产品id没有WMI,我找到了 USBSTOR\Disk&Ven\U ST932042&Prod\ustrong>\u5VJ101RR&Rev\u SDM1\222256410122&0 序列号为5VJ101RR,但在产品id中显示错误, 如何获取正确的USB磁盘供应商id、产品id、序列号 我的开发环境是Visual C++ 2008 谢谢获取VID和PID的一个简单方法是从%WINDOWS%\System32加载设备INI文件,我认为这是通常复制INI的

我想得到USB硬盘序列号,供应商id,产品id没有WMI,我找到了

USBSTOR\Disk&Ven\U ST932042&Prod\ustrong>\u5VJ101RR&Rev\u SDM1\222256410122&0

序列号为5VJ101RR,但在产品id中显示错误, 如何获取正确的USB磁盘供应商id、产品id、序列号 我的开发环境是Visual C++ 2008


谢谢

获取VID和PID的一个简单方法是从%WINDOWS%\System32加载设备INI文件,我认为这是通常复制INI的地方。如果您知道INI文件的名称,那么它是微不足道的。如果要寻找编程方法,可以使用Win32 Setup API枚举USB总线

如果您已经在机器上安装了Wnidows驱动程序工具包,请查看。它演示了如何枚举USB总线并获得所有设备的列表,包括它们的PID和VID


要获取序列号,请查看。

我不确定是否可以保证所有硬盘设备上都有此信息,如果有,则可能不够可靠。我不知道您为什么希望这样做,但它通常被用作解决unicity和许可问题的第一种方法,实际上不应该这样做。感谢您的回复,很抱歉使用GetVolumeInformation()API,此函数返回格式化硬盘时操作系统分配的卷序列号。因此,格式化此USB硬盘时,序列号为chanage