Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.Net] Prelevare numero serie HDD
Forum - C# / VB.NET - [VB.Net] Prelevare numero serie HDD

Avatar
itAndy90 (Normal User)
Newbie


Messaggi: 11
Iscritto: 04/07/2009

Segnala al moderatore
Postato alle 17:49
Giovedì, 03/12/2009
Ciao a tutti
mi trovo a dover prelevare il seriale degli hard disk presenti sul computer. Mi sono dato un'occhiata alle classi WMI, ed onestamente non ci ho capito granchè. Comunque, sno riuscito a modificare questo codice preso dalla rete...

Codice sorgente - presumibilmente VB.NET

  1. Dim WMI As Object
  2.         Dim physMs As Object
  3.         Dim physM As Object
  4.  
  5.         WMI = GetObject("winmgmts:\\.\root\cimv2")
  6.         physMs = WMI.ExecQuery("SELECT * FROM Win32_PhysicalMedia")
  7.         For Each physM In physMs
  8.             IIf(IsNothing(physM.SerialNumber), MsgBox("?"), MsgBox(physM.SerialNumber))
  9.         Next


Al momento, mi da questi problemi: anzitutto mi stampa un seriale (ed in effetti ho un hdd sul mio pc...) ma prima di farlo mi stampa il "?" (quindi non capisco perchè prima ho una tupla vuota, poi una piena come risultato della query). In secondo luogo, dopo aver stampato il serial number, mi stampa qualche spazio vuoto e un paio di "?" per poi crashare con un bel "Argument 'Prompt' cannot be converted to type 'String'.".

Altra rogna (come se non fossero abbastanza :asd:) ho provato ad inserire nella query l'argomento MediaType, che è un intero corrispondente al tipo di dispositivo collegato (l'HDD corrisponde al 29) ma nisba... Ho provato con un semplice
Codice sorgente - presumibilmente C# / VB.NET

  1. SELECT * FROM Win32_PhysicalMedia WHERE MediaType = 29


e non mi restituisce un tubo, tra l'altro non mi stampa neppure i "?".

Confido in qualche vostra geniale intuizione, o in un sempre gradito link-guida. Grazie in anticipo :k:

PM Quote