Newsgroup: it.comp.appl.access
Titolo: Numero seriale Hard Disc non univoco?

Vi è capitato mai di trovare due HD che riportano lo stesso numero seriale 
(quello con 8 cifre esadecimali). Mi è capitato presso un paio di clienti 
che hanno riformattato i dischi.
Siccome lo uso per creare un codice di controllo sull'istallazione, non è 
che magari c'è un modo per assegnare il codice e quindi salta il metodo per 
controllare le installazioni?
-- 
Ciao, Sandrobi
-----------------
Se la tua email è fasulla, ti invito a leggere 
http://wiki.news.nic.it/AntiSpam
 

 Ciao, Sandrobi
Il seriale da ricercare non è quello creato dalla formattazione delle unità 
ma quello univoco (unico in tutto il mondo) assegnato dalla casa 
costruttrice.
I seriali da ricercare sono quelli fisici e non quelli logici assegnati 
dalla formattazione.
Un esempio di seriale fisico è questo:
36424330324b4833202020202020202020202020
Ciao, Carlo 

 -----------------
A parziale chiarimento di quello che ho detto... se dal prompt digiti VOL 
seguito da invio quello che ottieni è il valore esadecimale del serial 
number dell'unità logica...lo stesso che potresti ottenere con l'api 
GetVolumeInformation, che è completamente diverso dell'immodificabile 
seriale fisico dell'unità.
Il primo cambia ad ogni formattazione, il secondo no.
Possono essere d'aiuto le librerie WMI di cui ho pubblicato, su questo NG, 
un esempio d'uso.
Ciao, Carlo 

 ha scritto nel messaggio 
news:fs8s5r$r3r$1...@tdi.cu.mi.it...

La cosa mi sconvolge non poco! Non avevo mai sentito parlare di seriale 
logico diverso dal seriale fisico.
Grazie dell'informazione.
Sai con quali criteri viene assegnato nella formattazione? Non è che si può 
impostare a piacere e magari modificare?
Ciao, Sandrobi 


Ciao,
a completamento di quanto illustrato da Carlo
aggiungo che e' possibile avere lo stesso identificativo
logico nel momento stesso in cui un disco viene clonato.
Questa prassi e'  piu' comune di quanto si pensi da parte degli
installatori che preparano i pc partendo da uno master.
Dal punto di vista licenze questo e' legale in quanto il
piu' delle volte sono volume-license.
-- 
Lorenzo 

 Ciao, Sandrobi
Il fatto di poter avere più unità logiche sullo stesso HD o più partizioni, 
impone che ciascun disco logico o partizione abbia un suo proprio 
identificativo assolutamente diverso dal serial number fisico del disco.
Per cambiare quest'ultimo ci vogliono dei programmi appositi che 
generalmente vengono forniti dal produttore in quanto è legalmente vietato 
cambiarlo.
Per cambiare il seriale "logico" ci sono in giro diversi programmi che lo 
fanno...ma non sò dove reperirli...mi pare che Partition Magic possa farlo.
Ciao, Carlo 

 controllare le installazioni?
Ecco il codice necessario per recuperare il serial number assegnato da un
produttore ad un hard disk.
'----------------------------------------------------------------
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
Function IsWMIInstalled() As Boolean
    'Restituisce True se è presente Microsoft Windows
    'Management Instrumentation:
    Dim oTemp
On Error Resume Next
 
    Set oTemp = CreateObject("WbemScripting.sWbemLocator")
 
    IsWMIInstalled = (Err.Number <> 429)
 
    If Err.Number = 429 Then
      Err.Clear
      Else
      Set oTemp = Nothing
    End If
End Function
'----------------------------------------------------------------
Per utilizzarlo bisogna avere installato la Microsoft WMI Scripting
Library.
-- 
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

   
Mi inserisco nella discussione perchè sto cercando un metodo per 
proteggere i miei programmi in access e credo che tu utilizzi il seriale 
proprio per questo.
Puoi postare il flusso logico della tua protezione?
Come ti proteggi se uno reinstalla ex-novo da cd la tua applicazione?
Non sono tanto sgamata, ma vorrei solo una traccia da seguire poi mi 
costruisco il tutto da sola.
Nicoletta

"Gabriele Bertolucci" <"info[at]pbsoft[dot]it"> ha scritto nel messaggio 
news:6jx7zwan65tn.hdxogsyaagnq$.dlg@40tude.net...

Sul mio disco, questo codice ritorna:
 Seriale MB: 123456789000        (12 cifre abbastanza anonime!)
 Seriale BIOS:                                (nulla)
 Seriale HD: L41NK5MH            (8 caratteri, non è un esadecimale)
Quindi mi pare che non ci sia nè il seriale logico nè il seriale fisico 
.....
Sandrobi 

 ha scritto nel messaggio 
news:47e95e6c$0$4792$4faf...@reader4.news.tin.it...

Sulla base del numero seriale ti crei, con un algoritmo, un altro codice che 
deriva da quello e al momento dell'installazione ti fai comunicare il codice 
seriale dell'HD e tu gli comunichi il tuo codice di attivazione che andrà 
salvato da qualche parte sul disco o nel registro di sistema.
Se reinstalla il programma sullo stesso HD lo può fare, ma se lo installa su 
un altro HD dovrà richiederti il codice di attivazione.
Sandrobi 

 Sandrobi
Però devo sempre avere un contatto col cliente.
Speravo in qualcosa che la prima volta lo potesse fare da solo (senza
codice di attivazione).
Eventualmente le successive solo su richiesta.
Grazie lo stesso
Nicoletta
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Quindi mi pare che non ci sia nè il seriale logico nè il seriale fisico 
Hai controllato che quel numero sia diverso da quello che viene restituito
con il comando VOL da riga di comando?
Nel mio caso ho due unità disco ed i codici che vengono restituiti sono
proprio quelli impostati dal produttore, non sono quelli relativi ai volumi
configurati da me.
E poi, nessuno ha detto che i seriali impostati dal produttore debbano
essere dei numeri esadecimali.


 Eventualmente le successive solo su richiesta.
Puoi sempre realizzare una pagina web a cui accedere con dati specifici del
singolo cliente e nella quale egli potrà inserire il codice seriale del suo
hard disk ed ottenere in cambio il codice di attivazione del prodotto.


 
Ciao Gabriele,  sono alle prime armi,
ho provato a fare questo
apro access 2007
creo un nuovo file
lo apro, mi posiziono su moduli creo un nuovo modulo lo chiamo disco, 
quindi copio all'interno il programma che hai postato:

     Call IsWMIInstalled




  Function IsWMIInstalled() As Boolean



     IsWMIInstalled = (Err.Number <> 429)

     End If
  End Function
----------------------------
mi posiziono sulla finestra immediata e provo a lanciare
? Form_Click()
e mi dice  errore di compilazione
provo
? GetSerialInfo ()
e mi risponde indice non incluso nell'intervallo
provo
? IsWMIInstalled() e mi risponde Vero
dove ho sbagliato .
grazie