magicolotto (Normal User)
Expert
Messaggi: 338
Iscritto: 21/01/2008
|
ciao ragazzi come posso prelevare il numero seriale fisico dell'hard disk
dovrebbe essere cosi :
Codice sorgente - presumibilmente Plain Text |
GetVolumeInformation "C:\", Buf$, 255, Serial, Length, Flags, Name$, 255
HardSerial = Serial
|
non sono sicuro se è quello fisico
|
|
magicolotto (Normal User)
Expert
Messaggi: 338
Iscritto: 21/01/2008
|
dimenticavo quel codice mi ricava un serial del tipo :
F1MPP5BEQ0AQRC44
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
E cosa e' GetVolumeInformation ?
Comunque, sappi che
1) non tutti gli HD restituiscono il Serial Number (quindi non e' un metodo affidabile)
2) e' facilmente superabile (quindi non e' un metodo affidabile)
3) se cambi HD, il programma non funziona piu' (e il cliente si inc ... arrabbia ...)
|
|
magicolotto (Normal User)
Expert
Messaggi: 338
Iscritto: 21/01/2008
|
se quel serial è abbinato alla criptazione del metodo MD5
risultera' acora non affidabile?
ma come si ottiene il serial fisico?
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Il problema non e' che sia affidabile o meno la criptazione ... e' il metodo del seriale dell'hard disk ...
|
|
magicolotto (Normal User)
Expert
Messaggi: 338
Iscritto: 21/01/2008
|
si lo so
ma x ricavare quel serial fisico... dell'hardisk
serial che rimmarra sempre univoco, anche formattando..
come si trova?
|
|
Louis (Normal User)
Pro
Messaggi: 150
Iscritto: 22/04/2008
|
Click sulla Frm:
Codice sorgente - presumibilmente VB.NET |
Option Explicit 'Da VB6 puoi utilizzare Windows Managemente Instrumentation 'riferendoti alla libreria Microsoft WMI Scripting V1.2 Library 'Codice fornito/postato da Oregon: '---------------------------------------------------------------- Private Sub Form_Click() 'Controlla che sia presente Microsoft Windows Management Instrumentation: Call IsWMIInstalled Print "Seriale MB:" & vbCrLf & GetSerialInfo("BaseBoard") Print "Seriale BIOS: " & vbCrLf & GetSerialInfo("BIOS") Print "Seriale HD: " & vbCrLf & GetSerialInfo("PhysicalMedia") End Sub '---------------------------------------------------------------- Private Function GetSerialInfo(device As String) As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_" & device) For Each obj In objs sAns = sAns & obj.SerialNumber & vbCrLf Next GetSerialInfo = Replace$(sAns, " ", "") End Function '---------------------------------------------------------------- ' Restituisce True se è presente Microsoft Windows ' Management Instrumentation: Function IsWMIInstalled() As Boolean Dim oTemp On Local Error Resume Next Set oTemp = CreateObject("WbemScripting.sWbemLocator") IsWMIInstalled = (Err. Number <> 429 ) Else Set oTemp = Nothing End If End Function
|
Ciao.
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Postato originariamente da Louis:
'Da VB6 puoi utilizzare Windows Managemente Instrumentation
'riferendoti alla libreria Microsoft WMI Scripting V1.2 Library
'Codice fornito/postato da Oregon:
'----------------------------------------------------------------
|
Il problema non e' il codice (che conosco bene ...) ma il fatto, ripeto, che il metodo non sia affidabile, soprattutto perche' NON tutti i dischi moderni restituiscono un seriale ...
Quindi, probabilmente tutto ti funzionerà ma arrvierà il momento in cui qualcuno ti dirà che qualcosa non va con il proprio disco ...
|
|
()
Newbie
Messaggi:
Iscritto:
|
il discorso che potrebbe essere interessante e' riuscire ad appoggiarsi a qualcosa di univoco.....
|
|