c# - 有没有办法在 .NET 中唯一标识连接到 Windows PC 的任何存储介质?

标签 c# .net windows vb.net

几周来我一直在寻找解决方案。我正在寻找一种可以唯一标识连接到 Windows PC 的任何存储介质的方法。特别是存储介质。这可能包括内部硬盘驱动器、外部硬盘驱动器、闪存驱动器、SD 卡、智能手机存储等。没有光学介质。

基本上我想做的是指定某种与特定存储设备相关联的唯一字符串,因此只要重新连接该存储设备,无论驱动器盘符如何,它都可以被自动检测到。

遇到的问题:

  • 并非每个存储设备都有序列号
  • 当通过读卡器访问 SD 卡时,通过 WMI 通过 ManagementObjectSearcher 类可用的信息与读卡器相关,而不是媒体

似乎有 4 个主要属性可以返回唯一信息,但并非总是如此。 序列号标题PNPDeviceID签名

Windows 肯定会采取一些措施来跟踪这样的存储设备。有什么想法吗?

最佳答案

你能给这些媒体写信吗?如果是这样,如何在根目录中创建一个包含 GUID 的文件并将对该 GUID 的引用存储在您的应用程序中。作为 GUID 并保证唯一,您可以使用此文件来唯一标识该卷。

关于c# - 有没有办法在 .NET 中唯一标识连接到 Windows PC 的任何存储介质?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202104/

相关文章:

c# - 动态数量的文本框(输入)MVC

c# - 使用 Roslyn 编译时如何设置程序集版本、文化和公钥 token ?

.net - Windows Phone 7 和不安全代码

c# - T4 模板调试正常但在正常运行模式下出错

python - 如何知道我的脚本在哪个 Python 实例上运行?

c# - 使用图形 API 查询 Azure AD

c# - Xamarin 表单应用程序的性能改进

java - 如何在 Windows 下的 Java 服务中添加时间戳 GC 日志文件名?

c# - 对话框在 wpf 弹出窗口后面打开

java - 如何指定要使用的基于操作系统的 Java 库?