C# 硬件的哪些用途';生成软件锁的字符?

C# 硬件的哪些用途';生成软件锁的字符?,c#,java,wmi,C#,Java,Wmi,我想在windows中使用wmi创建软件锁。 我检查了很多硬件特性,例如: processorId、SerialNumber(HDisk)、MaxClockSpeed 但有些字符在不同的系统上是无用的 在所有系统上使用哪种硬件字符可以运行软件锁定?简短回答:无 用户总是可以让软件在虚拟机中运行,从而可以伪造整个硬件。另一方面,合法用户可能会升级他们的机器(例如,更换主板或硬盘),这可能会导致任何硬件参数的更改,这将导致愤怒的客户,因为他们必须与您联系,让他们的合法版本重新进入运行状态 如果你真的

我想在windows中使用wmi创建软件锁。 我检查了很多硬件特性,例如: processorId、SerialNumber(HDisk)、MaxClockSpeed

但有些字符在不同的系统上是无用的

在所有系统上使用哪种硬件字符可以运行软件锁定?

简短回答:无

用户总是可以让软件在虚拟机中运行,从而可以伪造整个硬件。另一方面,合法用户可能会升级他们的机器(例如,更换主板或硬盘),这可能会导致任何硬件参数的更改,这将导致愤怒的客户,因为他们必须与您联系,让他们的合法版本重新进入运行状态


如果你真的需要某种硬锁,那就用USB软件包,但是如果客户要求丢失的软件包,那么考虑一个策略。

java竭尽全力避免或隐藏硬件特定的代码,这与你想要的相反。为什么不使用可用属性的组合(即使并非所有属性都在每个系统上可用)