Sto creando un programma e vorrei proteggerlo con un codice d'attivazione, vogli oche però lo stess ocodice d'attivazione sia utilizzabile una sola volta e non so come fare![]()
Grazie per le fututre delucidazioni
Sto creando un programma e vorrei proteggerlo con un codice d'attivazione, vogli oche però lo stess ocodice d'attivazione sia utilizzabile una sola volta e non so come fare![]()
Grazie per le fututre delucidazioni
Anche se è riferita ad un linguaggio differente, prova a dare un'occhiata a questa discussione prima.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
H ovisto il post...Ma qual'è il codice per sapere un qualcosa, qualsiasi cosa che varia da pc a pc?
Ad esempio, in riferimento al disco fisso principale, potresti ottenere il numero seriale come indicato in questa discussione molto recente.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
L'avevo visto anhce io...E vedendo questo codice (che credo essere VB6):
Mi chiedevo dove andasse kernel32.dll o se c'era già (non l'ho ancora provato)codice:Conoscere il numero di serie dell'Hard Disk 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 Function GetSerialNumber(strDrive As String) As Long Dim SerialNum As Long Dim Res As Long Dim Temp1 As String Dim Temp2 As String Temp1 = String$(255, Chr$(0)) Temp2 = String$(255, Chr$(0)) Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2)) GetSerialNumber = SerialNum End Function Esempio di utilizzo : (se voglio il serial number del disco C) Call MsgBox GetSerialNumber("C:\")
kernel32.dll è un libreria del sistema operativo Windows già presente e installata.Originariamente inviato da chiamatekatia
Mi chiedevo dove andasse kernel32.dll o se c'era già (non l'ho ancora provato)
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ok però provando mi fa:
Chiamata DLL non valida e m iseleziona:
codice:Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
Attenzione ... come ho ricordato in una discussione simile, quel codice serve per ottenere il numero seriale del volume che viene assegnato da Windows dopo la formattazione. Questo codice *non* è affatto legato al PC e può essere facilmente cambiato.
Inoltre varia dopo ogni formattazione.
Il vero numero seriale dell'hard disk (quello imposto dalla fabbrica) non e' sempre ottenibile ma per farlo basta utilizzare la libreria WMI.
Dato che la maggioranza dei PC ha una scheda di rete, il consiglio e' leggere il numero del MAC della scheda (che e' in effetti univoco, anche se, in certi casi, non e' affidabile neanche questa informazione ...).
A me va bene lo stesso anche se cambia dopo la sua formattazione
Ho provato il codice su una macchina ed ho ottenuto un numero positivo, mentre su un'altra 1 negativo...Come posso trasformare quello negativo in uno positivo?
Ad esempio la funzione Abs() restituisce il valore assoluto del numeroOriginariamente inviato da chiamatekatia
Come posso trasformare quello negativo in uno positivo?![]()
... e non usare while wend è una sintassi deprecata