VS2010中怎么获取cpu或者硬盘序列号。用vb.net。想编一个注册码的软件

Imports System.Management
——————————————————————————————
Dim Wmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Processor")
Dim Uint32 As String

For Each WmiObj As ManagementObject In Wmi.Get
Uint32 = WmiObj("ProcessorId")
Next

Text1.Text = Uint32.ToString

网上下的,总提示Management.ManagementObjectSearcher与ManagementObject未定义类型错误。怎么办哦,急用

Private Function 硬盘序列号() As String
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盘序列号 = Trim(myInfo.GetValue("SerialNumber"))
Catch
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盘序列号 = Trim(myInfo.GetValue("SerialNumber"))
Catch
硬盘序列号 = ""
End Try
End Try
End Function
只在我的电脑上试过,你试下追问

我电脑上读取不出来,为空值。但是没有报错。我用的win7的系统。能提供下读取CPU序列的程序吗。谢谢哦,急用

追答

发现网上的那个wmi用不了,Management根本没有方法,我的代码是通过注册表获取,但没在其他系统上试过,你的是什么系统,照上面的路径,到注册表中找找看。
HKEY_LOCAL_MACHINE保存了注册表里的所有与这台计算机有关的配置信息

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-01
在项目名称上点右键,添加引用,这个Management必须用这个方法引用一下。