Ciao a tutti, ho creato un piccolo programma di statistica in access, riferito ad una squadra di calcio.
Questo programma è stato installato nel computer in dotazione al club della squadra nel mio paese.
Vorrei che il programma non venga copiato e di conseguenza installato su altri computer.
Andando a curiosare su internet, ho visto che si ha la possibilità di leggere il codice seriale dell'hard disk.
La mia intenzione è quella di copiare il codice seriale in un campo di una tabella e in seguito confrontarlo all'apertura del DB con quello letto.
Se i codici non risultano uguali, il programma non verrà aperto.
Ho trovato un codice ma non funziona.
Il mio problema è:
1° capire dove inserire il VBA che mi legga il codice seriale dell'Hard Disk;
2° far funzionare il codice in quando mi da degli errori;
3° in quale campo mi restituisce il valore.
ecco il codice VBA:
Option Explicit
Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
Public Function DriveSerialNumber(ByVal Drive As String) As Long
'usage: SN = DriveSerialNumber("C:\")
Dim lAns As Long
Dim lRet As Long
Dim sVolumeName As String, sDriveType As String
Dim sDrive As String
'Deal with one and two character input values
sDrive = Drive
If Len(sDrive) = 1 Then
sDrive = sDrive & ":\"
ElseIf Len(sDrive) = 2 And Right(sDrive, 1) = ":" Then
sDrive = sDrive & "\"
End If
sVolumeName = String$(255, Chr$(0))
sDriveType = String$(255, Chr$(0))
lRet = GetVolumeInformation(sDrive, sVolumeName, _
255, lAns, 0, 0, sDriveType, 255)
DriveSerialNumber = lAns
End Function
Per favore, vi chiedo di aiutarmi,
Grazie bruno