Boa tarde
Seria possivel por esta função para 2 Numeros de Série para trabalhar em 2 Computadores ?
Private Sub Form_Open(Cancel As Integer)
Dim lVSN As Long, N As Long, s1 As String, s2 As String
Dim Unidade, Serie As String
Dim sTmp As String
Dim db As Database, t1 As Recordset
On Local Error Resume Next
'especifica-se o diretorio raiz
Unidade = "C:\"
'Reservando espaço para os string que serão passados para a API
s1 = String$(255, Chr$(0))
s2 = String$(255, Chr$(0))
N = GetVolumeInformation(Unidade, s1, Len(s1), lVSN, 0, 0, s2, Len(s2))
's1 terá o label da unidade
'lVSN terá o serial number
's2 indica o tipo de gravação de arquivo (se FAT, etc...)
'Numero IVSN (serial number) é convertido para hexadecimal para ser mostrado como no DIR
sTmp = Hex$(lVSN)
'Me.Text1 = s1
Serie = Left$(sTmp, 4) & "-" & Right$(sTmp, 4)
'Me.Text3 = s2
Set db = CurrentDb
Set t1 = db.OpenRecordset("Serial", dbOpenTable)
'Valor1 = t1![NumSerial]
If t1.BOF = True Then
t1.AddNew
t1![Código] = 1
t1![NumSerial] = Serie
t1.Update
'MsgBox t1![NumSerial]
Else
If t1![NumSerial] <> Serie Then
Me!nserie = Serie
End If
End If
t1.Close
Select Case nserie
' o valor lido deve ser este
' erro cópia pirata
Case Is <> "2ED3-CF10" Colocar aqui Outro
DoCmd.Close acForm, "LerNúmeroHD"
MsgBox "*** Programa Copiado ***" & vbCrLf & "Não tem autorização para executar o Programa neste Computador." & vbCrLf & "Contacte o Administrador. " & vbCrLf & "Não me resposabilizo por danos que possam acorrer no seu Computador caso insista em ter acesso ao Programa." & vbCrLf & "O seu Sistema será encerrado", vbCritical, "Violação de Sistema"
DoCmd.Quit
Case Is = "8ED3-CF10" Colocar aqui Outro
DoCmd.Close acForm, "LerNúmeroHD"
DoCmd.openForm "Menu"
End Select
ReSizeForm Me
End Sub
Seria possivel por esta função para 2 Numeros de Série para trabalhar em 2 Computadores ?
Private Sub Form_Open(Cancel As Integer)
Dim lVSN As Long, N As Long, s1 As String, s2 As String
Dim Unidade, Serie As String
Dim sTmp As String
Dim db As Database, t1 As Recordset
On Local Error Resume Next
'especifica-se o diretorio raiz
Unidade = "C:\"
'Reservando espaço para os string que serão passados para a API
s1 = String$(255, Chr$(0))
s2 = String$(255, Chr$(0))
N = GetVolumeInformation(Unidade, s1, Len(s1), lVSN, 0, 0, s2, Len(s2))
's1 terá o label da unidade
'lVSN terá o serial number
's2 indica o tipo de gravação de arquivo (se FAT, etc...)
'Numero IVSN (serial number) é convertido para hexadecimal para ser mostrado como no DIR
sTmp = Hex$(lVSN)
'Me.Text1 = s1
Serie = Left$(sTmp, 4) & "-" & Right$(sTmp, 4)
'Me.Text3 = s2
Set db = CurrentDb
Set t1 = db.OpenRecordset("Serial", dbOpenTable)
'Valor1 = t1![NumSerial]
If t1.BOF = True Then
t1.AddNew
t1![Código] = 1
t1![NumSerial] = Serie
t1.Update
'MsgBox t1![NumSerial]
Else
If t1![NumSerial] <> Serie Then
Me!nserie = Serie
End If
End If
t1.Close
Select Case nserie
' o valor lido deve ser este
' erro cópia pirata
Case Is <> "2ED3-CF10" Colocar aqui Outro
DoCmd.Close acForm, "LerNúmeroHD"
MsgBox "*** Programa Copiado ***" & vbCrLf & "Não tem autorização para executar o Programa neste Computador." & vbCrLf & "Contacte o Administrador. " & vbCrLf & "Não me resposabilizo por danos que possam acorrer no seu Computador caso insista em ter acesso ao Programa." & vbCrLf & "O seu Sistema será encerrado", vbCritical, "Violação de Sistema"
DoCmd.Quit
Case Is = "8ED3-CF10" Colocar aqui Outro
DoCmd.Close acForm, "LerNúmeroHD"
DoCmd.openForm "Menu"
End Select
ReSizeForm Me
End Sub