0

ハードウェアのシリアル番号を使用し、それらを組み合わせて単一のシリアル番号を取得する、文字列を返す関数が必要です。

このような機能を試してみましたが、同様のものは見つかりませんでした。この機能は、ライセンス システムで PC を識別する必要があります。

コンピューターごとに同じ値のみが必要です。

4

1 に答える 1

1

これはまさにあなたが望むものではないかもしれませんが、私があなたの質問を正しく理解している場合は、以下のコードを試してみてください (Strict On では以下のコードを使用しないでください)。最高のアイデアではありませんが、動作します...

Private Function SystemSerialNumber() As String
    ' Get the Windows Management Instrumentation object.
    Dim wmi As Object = GetObject("WinMgmts:")

    ' Get the "base boards" (mother boards).
    Dim serial_numbers As String = ""
    Dim mother_boards As Object = _
        wmi.InstancesOf("Win32_BaseBoard")
    For Each board As Object In mother_boards
        serial_numbers &= ", " & board.SerialNumber
    Next board
    If serial_numbers.Length > 0 Then serial_numbers = _
        serial_numbers.Substring(2)

    Return serial_numbers
End Function

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

ソース: http://www.vb-helper.com/howto_net_get_cpu_serial_number_id.html

于 2012-07-18T22:54:58.533 に答える