我想在我的窗口程序中存储PC ID。请与我分享。
答案 0 :(得分:6)
这项工作对我来说
Private Function CpuId() As String
Dim computer As String = "."
Dim wmi As Object = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & _
computer & "\root\cimv2")
Dim processors As Object = wmi.ExecQuery("Select * from " & _
"Win32_Processor")
Dim cpu_ids As String = ""
For Each cpu As Object In processors
cpu_ids = cpu_ids & ", " & cpu.ProcessorId
Next cpu
If cpu_ids.Length > 0 Then cpu_ids = _
cpu_ids.Substring(2)
Return cpu_ids
End Function
请参阅here
答案 1 :(得分:0)
“PC唯一ID”通常表示用于唯一标识计算机的硬件ID。例如,它们可用于跟踪计算机上的软件使用情况。
根据this question,“主板ID,处理器ID和bios id”“最不可能改变”。
This question包含用C#获取此类信息的代码;遗憾的是,我找不到VB.NET的任何主题,但它应该很容易移植。
答案 2 :(得分:0)
试试这个,它会从处理器中取出ID。
Dim win32MgmtClass as System.Management.ManagementClass
win32MgmtClass = new System.Management.ManagementClass("Win32_Processor")
Dim processors as System.Management.ManagementObjectCollection
processors = win32MgmtClass.GetInstances()
For Each processor As System.Management.ManagementObject In processors
MessageBox.Show(processor("ProcessorID").ToString())
Next
答案 3 :(得分:0)
我假设您要生成一台机器特有的ID。硬盘驱动器可能是最简单的方法,因为其他硬件太多样化,无法设置检索序列号的方法。
最简单的方法是使用Windows为硬盘驱动器生成的数字。
您可以在HKEY_LOCAL_MACHINE \ SYSTEM \ MountedDevices下找到它 并且密钥名称是\ DosDevices \ C :(假设C:驱动器是主系统驱动器 - 在一些非常罕见的情况下不是这种情况,但是您可以检查系统驱动器是什么并使用适当的密钥)。
还有另一个与硬盘驱动器相关联的号码,称为UUID,你可以找到脚本来实现它。例如:Windows http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part18.html。或http://blog.granneman.com/2007/07/26/find-out-a-hard-drives-uuid/ for Linux。
我还发现了这篇关于检索主板序列号的文章:Getting motherboard unique ID number thru vc++ programming
答案 4 :(得分:0)
需要 https://www.nuget.org/packages/System.Management/
System.Management 4.7.0
如您所见,这里有一个“唯一值”以及一些特殊的计算。您可以尽力做到这一点,但是反向工程最终可以揭示这一点。
更好(但速度较慢)的计算机ID版本(需要System.Management导入和引用): 代码:
Public Shared Function GetComputerID() As Long
Dim objMOS As New ManagementObjectSearcher("Select * From Win32_Processor")
For Each objMO As Management.ManagementObject In objMOS.Get
GetComputerID += objMO("ProcessorID").GetHashCode
Next
GetComputerID += My.Computer.Name.GetHashCode
End Function