如何使用C#(.Net/Mono,本地应用程序)唯一地识别计算机(主板)?
Edition.我们可以使用类似的方法在.Net中识别主板(参见):
using System.Management;
...
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_MotherboardDevice");
...
但不幸的是,Mono不支持System.Management。如何在下实现?-我不知道:
我使用了一个系统信息实用程序来获取一个系统的型号,以及主板的型号。
DMI System Manufacturer LENOVO
DMI System Product 2306CTO
DMI System Version ThinkPad X230
DMI Motherboard Product 2306CTO
在Linux中是否有获得型号的方法,在本例中是2306CTO?
我试着从我的电脑上获得硬盘和主板序列号。它在Windows 7和更高版本中运行良好
但是CMD中的相同代码不适用于Windows。它显示OE.M需要填充或什么也不返回
wmic diskdrive get name,serialnumber,model // This is cmd to get serial num
在Windows中,它返回序列号的错误
wmic baseboard get product,Manufacturer,version,serialnumber // This is cmd to get MotherBoard serialnumber
在Windows和Win
所以我做了一个欺骗程序,改变了很多网络设备和硬件设备,但我想让它成为私有的,或者出售它,所以我做了一个系统,它可以根据我服务器上的txt检查主板ID (wmic baseboard get serialnumber),如果它不同,它就退出,如果它与我放的某个ID匹配,它就会让它继续运行。有没有人知道这是如何实现的?仅供参考,我在批处理文件中创建此文件,因为我觉得没有必要仅为几个cmd命令创建一个控制台项目
我必须使用验证密钥保护用Java编写的应用程序,密钥应该只在指定的PC上工作,因此,例如,应用程序应该基于唯一标识符(例如:硬盘序列号、MainBoard序列号等)生成机器ID序列号;然后,基于该唯一标识符,另一个程序将生成验证密钥。
我已经在一个生成机器标识符的.NET应用程序上实现了一个类似的激活系统,从WMI获取硬件序列号,我如何在Java中获得这个值?该解决方案应在Windows、Linux和Mac Os X上独立运行。
如何在Java中检索机器的唯一标识符?有没有什么库可以这么做呢?