Matteo Neri (Mn90) Blog...

Articoli riguardanti il mondo .NET e la Sicurezza Informatica

Home Contact Syndicate this Site (RSS 2.0) Syndicate this Site (Atom) Login
  43 Posts :: 0 Stories :: 192 Comments :: 3 Trackbacks

News

My WebSite

http://mn90.it

Matteo Neri

Programmo in:

VB.NET, C/C++, Python, JAVA, HTML, PHP, MySql,MS-SQL.

S.O. che conosco:

Microsoft:Win 98,2000,Win XP,Win Server 2003, Win Vista
Linux: Debian, Red Hat Linux, Knoppix, BackTrack

Altro:

Mi interesso di Reverse Engineering, Web Security, Malware Analysis e Network Security



Archives

Post Categories

Link Vari

Others Blogger

Salve a tutti

Nel Post di oggi vi mostro come utilizzare la classe DriveInfo presente nel namespace System.IO per ricavare le principali informazioni sulle unità disco presenti nel PC, e inserisco queste informazioni in una ListView.

La Classe DriveInfo

Questa classe permette di utilizzare dei metodi,funzioni che sono utili per ricavare le informazioni sulle unità disco (es: spazio disponibile,spazio totale,unità disco,formato..)

Elencare le unità disco

Per elencare le unità disco presenti nel PC bisogna utilizzare un ciclo For Each in questo modo:

dim s as string

for each s in directory.getlogicaldrives

    'operazioni

next

Il Codice:

Il codice seguente mostra come ricavare le informazioni sulle unità disco e come inserirle nella nostra ListView (in questo caso la chiamo lista)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

lista.BeginUpdate()
lista.Items.Clear()

Dim s As String
' Ciclo che viene eseguito per enumerare tutte le unità disco.
    For Each s In Directory.GetLogicalDrives

'Variabili Interne al ciclo
        Dim drive As New IO.DriveInfo(s)
        Dim spaziodisp As Long
        Dim spazio_tot As Long
        Dim spazio_occ As Long
'Item del controllo ListView
       Dim subit As New ListViewItem(s)

'Gestisco eccezione
              Try
'Converto da Byte a MegaByte
                spaziodisp = drive.AvailableFreeSpace / 1048576
                spazio_tot = drive.TotalSize.ToString / 1048576
'Spazio Occupato
                spazio_occ = spazio_tot - spaziodisp

'Inserisco le informazioni nelle Colonne
                 subit.SubItems.Add(spaziodisp.ToString + " MB").Text.ToString()
                 subit.SubItems.Add(spazio_occ.ToString + " MB").Text.ToString()
                 subit.SubItems.Add(spazio_tot.ToString + " MB").Text.ToString()
                 subit.SubItems.Add(drive.DriveFormat.ToString).Text.ToString()

              Catch ex As Exception
              End Try
'Aggiungo il tutto alla List View Lista
      lista.Items.Add(subit)
    Next
lista.EndUpdate()
End Sub

Il codice presenta alcuni aspetti importanti da non tralasciare come ad esempio ho dovuto gestire l'eccezione poichè quando viene enumerata l'unita cd o unità DVD, alcune informazione non mi vengono restituite, e quindi generebbero un'eccezione.

Altro fattore importante è la linea di codice lista.items.add(subit) che è da tener fuori dal try...catch...end try.

Anche questo Post è concluso, un saluto a tutti e alla prossima

Matteo

posted on Friday, May 25, 2007 4:23 PM

Feedback

# re: [VB.NET] Ricavare informazioni sulle unità disco 5/28/2007 9:29 AM Flavb
Per ottenere il Serial Number dell'Hard Disk come posso fare?
Che classe/metodo posso usare?
Finora utilizzo il FileSystemObject della libreria "Microsoft Scripting Runtime" referenziata all'interno del mio progetto.
C'è qualcosa dentro il framework 2.0?
Grazie

# re: [VB.NET] Ricavare informazioni sulle unità disco 5/28/2007 3:38 PM Matteo Neri
Ciao
Sapevo che si può anche utilizzare WMI per le informazioni su Hard Disk, comunque ho trovato questo articolo in cui spiega come trovare il Serial Number dell'hard disk utilizzando WMI....
http://www.codeguru.com/vb/controls/vb_shell/article.php/c3049__1
Ciao e spero di esserti stato di aiuto....

# re: [VB.NET] Ricavare informazioni sulle unità disco 9/7/2009 12:02 PM Matteo Neri
Ciao
Forse non ho capito ciò che intendi, comunque con il codice che ho scritto, dovresti visualizzare le informazioni anche delle memorie secondarie cioè memorie di massa, hard disk (quindi c:\ d:\..)

Post Feedback

Title:
Name:
Url:
Comments: 
Codice di sicurezza
Protected by FormShield