- PC固有IDとは?
- PC 固有の ID を取得するにはどうすればよいですか?
- ハードディスクかマザーボードか?
Windows プログラムに PC ID を保存したいと思います。私を共有してください。
Windows プログラムに PC ID を保存したいと思います。私を共有してください。
これは私のために働きます
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
ここを参照
これを試してみてください。プロセッサから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
マシンに固有の ID を生成したいとします。他のハードウェアは多様すぎて、シリアル番号を取得する方法が決まっていないため、おそらくハード ドライブが最も簡単な方法です。
おそらく最も簡単なのは、Windows がハード ドライブ用に生成した番号を使用することです。
これは HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices の下にあり、キー名は \DosDevices\C: です (C: ドライブがメイン システム ドライブであると仮定します。非常にまれなケースではそうではありませんが、確認することができます)。システムドライブが何であるかを調べて、適切なキーを使用してください)。
UUID と呼ばれるハード ドライブに関連付けられた別の番号があり、それを取得するスクリプトを見つけることができます。例: http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part18.html (Windows 用)。またはLinux の場合はhttp://blog.granneman.com/2007/07/26/find-out-a-hard-drives-uuid/ 。
また、マザーボードのシリアル番号の取得に関するこの記事も見つけました: VC++ プログラミングによるマザーボードの一意の ID 番号の取得