windows - VB.NET 上的唯一硬件 ID

标签 windows vb.net

我有一个应用程序,我想通过要求我的用户注册来保护它。 我还想确保它们不能安装在两台以上的机器上。 为此,我需要知道在哪里可以找到唯一的硬件 ID 号,并在注册码中使用它。 我只需要知道如何使用代码获取该数字。

最佳答案

正如其他人所指出的,确实没有唯一的硬件 ID 这样的东西。在您之前出现的其他人尝试使用各种东西(例如主板序列号、CPU 序列号、硬盘序列号、MAC 地址)或这些东西的组合,但它们都以自己的方式存在问题。并非所有驱动程序都返回序列号,即使返回,它们也可以在硬件升级或更换时轻松更改。此外,序列号在技术上可以由不同的供应商重复,尤其是在虚拟机上。 MAC 地址是有问题的,因为通常有多个并且它们经常更改,特别是对于 VPN。此外,MAC 地址经常被使用相同 VPN 软件的多台机器复制。您可以使用 Windows 安装序列号,但这也可能会随着操作系统升级而复制和更改。简单的答案是,如果可能的话,不要。如果您必须这样做,最好有一种方法可以通过将加密的 GUID 写入硬盘驱动器上的某个位置,以编程方式标记安装了您的软件的每台计算机,并为您的支持人员提供一种简单的机制来重新标记任何计算机随意。

关于windows - VB.NET 上的唯一硬件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962743/

相关文章:

python - Go - 我如何在 go 代码中执行此 python 代码?

c# - Visual Studio ClickOnce 部署是否自动包含必要的 .NET 框架?

regex - 如何在标签中查找报价?

asp.net - 设置一个asp :DropDownList的html 'name'属性

vb.net - 运行“System.Diagnostics.Process.Start()”时拒绝访问

vb.net - 检查应用程序是 mvc、WebForms 还是两者兼而有之

windows - 7zip 递归归档文件夹中的文件

c++ - 在 Desktop Duplication API 中获取的帧之间的 CPU 使用率高,超时间隔不同

windows - Win32 ListBox 控件是否有 SetText 消息?

.net - 如何在VB.NET中设置线条的粗细