如何通过 c 获得可以唯一标识 cdrom 的东西#

匿名
2024-04-02T05:49:31.76+00:00

我需要一些 c# 代码来获取序列号或 ID 之类的东西,这些代码可以唯一标识固定 cdrom 或 usb cdrom。

Note:此问题总结整理于: How to get something that could uniquely identify a cdrom by c#

开发人员技术 | C#
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,681 信誉分 Microsoft 外部员工
    2024-04-02T08:05:25.52+00:00

    PNPDeviceID 能否满足您的要求?

            ManagementObjectSearcher searcher =  
                   new ManagementObjectSearcher("root\\CIMV2",  
                   "SELECT * FROM Win32_DiskDrive");  
    
            foreach (ManagementObject queryObj in searcher.Get())  
            {  
                Console.WriteLine("PNPDeviceID: {0}", queryObj["PNPDeviceID"]);  
            }  
    

    更新: 如果是 CD,则 PNPDeviceID 可能是可能的,但如果设备是 USB 设备,则 PNPDeviceID 不可行,有关详细信息,请参阅此链接: 视频卡适配器的 PNPeviceID 是否唯一 为每个设备分配一个全局唯一标识符。我认为这可能需要制造商这样做,但他们目前似乎还没有这样做,而且我们似乎不太可能用代码来做到这一点。 另外,如果想要获取 SerialNumber,请看这个类: Win32_CDROMDrive类 只需修改上面的查询语句和属性名称即可。 但是我没有CD,所以我还没有测试过。


    如果回复有帮助,请点击“接受答案”并点赞。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。