Ky eshte kodi qe funksionon me vertetimin e numrit serial te hd dhe me verifikimin per limitin e kohes, plus vertetimit nese perdoruesi kthen kohen e sistemit prapa:
Kodi:
Option Compare Database
Dim FileArray() As String
Private Sub Form_Load()
Dim file As String
file = "C:\Windows\Test.txt"
LexoNgaFile (file)
If NS_Kontrolla() = True Then
If Kontrollo_Daten = True Then
AktualizoParametrin ("DR")
ShkruajNeFile (file)
Else
MsgBox ("Probleme me daten ne Kopjuter!")
DoCmd.CloseDatabase
End If
Else
MsgBox ("Ne kete Kompjuter nuk keni Licence per te perdorur Databazen!")
DoCmd.CloseDatabase
End If
End Sub
Function Kontrollo_Daten() As Boolean
Dim koha_aktuale As Date
data_aktuale = Now()
Dim koha_ruajtur As Date
data_ruajtur = CDate(MerrParametrin("DR"))
Dim koha_valide As Date
data_valide = CDate(MerrParametrin("DV"))
If CLng(data_aktuale) < CLng(data_valide) Then
If CLng(data_aktuale) < CLng(data_ruajtur) Then
Kontrollo_Daten = False
Else
Kontrollo_Daten = True
End If
Else
Kontrollo_Daten = False
End If
End Function
Function NS_Kontrolla() As Boolean
Dim NrSerial As String
Dim NrSerialInstalluar As String
NrSerial = MerrSerialin()
NrSerialInstalluar = MerrParametrin("NS")
NS_Kontrolla = Trim(LCase(NrSerial)) Like Trim(LCase(NrSerialInstalluar))
End Function
Sub AktualizoParametrin(emri As String)
Dim i As Integer
For i = 0 To UBound(FileArray)
If InStr(1, FileArray(i), emri) > 0 Then
FileArray(i) = "DR=" & Now()
End If
Next
End Sub
Function MerrParametrin(emri As String)
Dim s
Dim STemp() As String
For Each s In FileArray
If InStr(1, s, emri) > 0 Then
STemp = Split(s, "=")
End If
Next
MerrParametrin = STemp(1)
End Function
Function MerrSerialin() As String
Dim obj As Object
Dim WMI As Object
Set WMI = GetObject("WinMgmts:")
For Each obj In WMI.InstancesOf("Win32_PhysicalMedia")
MerrSerialin = obj.SerialNumber
Exit For
Next
End Function
Sub ShkruajNeFile(file As String)
Dim s
Dim f As Integer
f = FreeFile
Open file For Output As #f
For Each s In FileArray
Print #f, s
Next
Close f
End Sub
Sub LexoNgaFile(file As String)
Dim f As Integer
f = FreeFile
Open file For Input As #f
FileArray = Split(Input(LOF(f), #f), vbCrLf)
Close f
End Sub
Permbajtja e File "C:\Windows\Test.txt":
Kodi:
NS=V92SPSL0
DV=01.05.2011 23:59:59
DR=29.04.2011 20:32:34
NS = Numri Serial I Hardiskut
DV = Maksimumi i Dates Valide
DR = Data e Ruajtur (per kontrolle nese useri e kthen kohen e sistemit prapa)
****
Nese ty nuk te funksionon leximi i numrit serial te hardiskut, beji nje vertetim nese File "C:\Windows\Test.txt" gjindet ne sistem, se nuk po e di pse nuk po te funksionon ty.
Krijoni Kontakt