Salve a tutti, io uso il codice che posto in esempio, per controllare che l'eseguibile del mio software non venga copiato da pc a pc senza autorizzazione, quindi ho pensato, leggo il seriale in attivazione, lo registro e poi ad ogni avvio controllo sia identico. Come piccolo deterrente funziona solo che non capisco perchè non va su tutti i pc, su alcuni (vecchi) non mi da il seriale, potete aiutarmi ad individuare l'errore per cortesia?
P.S. Non fate caso alle label o al settings, li uso per fare il test e vedere se legge o scrive....
Marco
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim wmi As Object = GetObject("WinMgmts:")
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)
My.Settings.serialepc = serial_numbers
My.Settings.Save()
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Dim wmi As Object = GetObject("WinMgmts:")
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)
My.Settings.frode = serial_numbers
Label1.Text = My.Settings.serialepc
Label2.Text = My.Settings.frode
If My.Settings.serialepc <> My.Settings.frode Then
MsgBox("diverso")
End If
End Sub