实现注册码程序,要求获取客户的网卡号,硬盘序列号及机器名,以随机数的形式生成,并通过文件的方式返回给客户   同时要限制同一个license的用户访问数量,号码要进行加密   多谢了:)))

解决方案 »

  1.   

    读网卡号的程序,网上有的是
    不过“license的用户访问数量”,想了半了也没个好方法
      

  2.   

    得到硬盘信息 
    Imports System.Management
    Public Class Form1
        Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code "  Public Sub New()
        MyBase.New()
        InitializeComponent()
      End Sub  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
          If Not (components Is Nothing) Then
            components.Dispose()
          End If
        End If
        MyBase.Dispose(disposing)
      End Sub
      Private components As System.ComponentModel.IContainer
      Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.ListBox1 = New System.Windows.Forms.ListBox
        Me.SuspendLayout()
        '
        'ListBox1
        '
        Me.ListBox1.Location = New System.Drawing.Point(8, 8)
        Me.ListBox1.Name = "ListBox1"
        Me.ListBox1.Size = New System.Drawing.Size(272, 212)
        Me.ListBox1.TabIndex = 0
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 238)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListBox1})
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)  End Sub#End Region  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    On Error Resume Next
        Dim HDDDeviceQuery As New SelectQuery("Win32_DiskDrive")
        Dim HDDDeviceSearch As New ManagementObjectSearcher(HDDDeviceQuery)
        Dim HDDDeviceInfo As ManagementObject
        For Each HDDDeviceInfo In HDDDeviceSearch.Get()
          ListBox1.Items.Add("HDD Description: " & HDDDeviceInfo("caption").ToString())
          ListBox1.Items.Add("HDD BytesPerSector: " & HDDDeviceInfo("BytesPerSector").ToString())
          ListBox1.Items.Add("HDD CompressionMethod: " & HDDDeviceInfo("CompressionMethod").ToString())
          ListBox1.Items.Add("HDD Index: " & HDDDeviceInfo("Index").ToString())
          ListBox1.Items.Add("HDD InstallDate: " & HDDDeviceInfo("InstallDate").ToString())
          ListBox1.Items.Add("HDD Manufacturer: " & HDDDeviceInfo("Manufacturer").ToString())
          ListBox1.Items.Add("HDD Partitions: " & HDDDeviceInfo("Partitions").ToString())
          ListBox1.Items.Add("HDD Size: " & Int(Val(HDDDeviceInfo("Size").ToString()) / 2 ^ 30) & "  GBytes")
          ListBox1.Items.Add("HDD TotalCylinders: " & HDDDeviceInfo("TotalCylinders").ToString())
          ListBox1.Items.Add("HDD TotalSectors: " & HDDDeviceInfo("TotalSectors").ToString())
          ListBox1.Items.Add("HDD TracksPerCylinder: " & HDDDeviceInfo("TracksPerCylinder").ToString())
          ListBox1.Items.Add("HDD TotalHeads: " & HDDDeviceInfo("TotalHeads").ToString())
          ListBox1.Items.Add("HDD TotalTracks: " & HDDDeviceInfo("TotalTracks").ToString())
          ListBox1.Items.Add("HDD SectorsPerTrack: " & HDDDeviceInfo("SectorsPerTrack").ToString())
          ListBox1.Items.Add("HDD SCSILogicalUnit: " & HDDDeviceInfo("SCSILogicalUnit").ToString())
        Next
      End Sub
    End Class得到声卡信息 
    Imports System.Management
    Public Class Form1
        Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code "  Public Sub New()
        MyBase.New()
        InitializeComponent()
      End Sub  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
          If Not (components Is Nothing) Then
            components.Dispose()
          End If
        End If
        MyBase.Dispose(disposing)
      End Sub
      Private components As System.ComponentModel.IContainer
      Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.ListBox1 = New System.Windows.Forms.ListBox
        Me.SuspendLayout()
        '
        'ListBox1
        '
        Me.ListBox1.Location = New System.Drawing.Point(8, 8)
        Me.ListBox1.Name = "ListBox1"
        Me.ListBox1.Size = New System.Drawing.Size(272, 212)
        Me.ListBox1.TabIndex = 0
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 238)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListBox1})
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)  End Sub#End Region  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim SoundDeviceQuery As New SelectQuery("Win32_SoundDevice")
        Dim SoundDeviceSearch As New ManagementObjectSearcher(SoundDeviceQuery)
        Dim SoundDeviceInfo As ManagementObject
        For Each SoundDeviceInfo In SoundDeviceSearch.Get()
          ListBox1.Items.Add("Sound Device Description: " & SoundDeviceInfo("Caption").ToString())
          ListBox1.Items.Add("Sound Device Status: " & SoundDeviceInfo("status").ToString())
          ListBox1.Items.Add("Sound Device Manufacturer: " & SoundDeviceInfo("Manufacturer").ToString())
        Next
      End SubEnd Class