Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Lettura Seriale Hardisk
Forum - C# / VB.NET - [VB.NET] Lettura Seriale Hardisk - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:19
Lunedì, 07/11/2011
Intendo al primo avvio dell'applicazione (non di un'altra applicazione ...)

Ultima modifica effettuata da nessuno il 07/11/2011 alle 14:20


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 14:46
Lunedì, 07/11/2011
Si, ok.. ma pensavo ai setup che si vedono di solito, dove viene chiesto il codice di registrazione (che di solito è scritto su una licenza cartacea) e che quindi la verifica del codice stesso avviene prima di procedere all'installazione.. Anche quella potrebbe essere una via.. fattibile?:-|

PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 16:44
Martedì, 08/11/2011
Ragazzi, c'è qualcun'altro che mi fa il favore di provare il codice?
Codice sorgente - presumibilmente VB.NET

  1. Imports System.Management
  2. Imports System.IO
  3.  
  4. Public Function GetSerialNumber(ByVal DriveLetter As String) As String
  5.     DriveLetter = DriveLetter.TrimEnd(CChar("\"))
  6.     Dim s As New ManagementObjectSearcher("select * from win32_diskdrive")
  7.     Dim Code As String = ""
  8.     For Each drive As ManagementObject In s.Get
  9.          For Each part As ManagementObject In drive.GetRelated("Win32_DiskPartition")
  10.              For Each mapping As ManagementObject In part.GetRelated("Win32_LogicalDisk")
  11.                 If mapping("Name").ToString = DriveLetter Then
  12.                     For Each Media As ManagementObject In drive.GetRelated("Win32_PhysicalMedia")
  13.                         If Media("SerialNumber").ToString = "" Then
  14.                              Code = mapping("Name").ToString & " " & "None"
  15.                         Else
  16.                              Code = mapping("Name").ToString & " " & Media("SerialNumber").ToString
  17.                         End If
  18.                     Next
  19.                 End If
  20.             Next
  21.         Next
  22.     Next
  23.     Return Code
  24. End Function
  25.  
  26. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  27.          MessageBox.Show(GetSerialNumber(Path.GetPathRoot(Application.ExecutablePath)))
  28.  
  29.         End
  30.     End Sub


Ci mettete 0,5 secondi, giuro! :rotfl:

Ultima modifica effettuata da Renny il 08/11/2011 alle 21:27
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo