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] lista hard disk
Forum - C# / VB.NET - [vb.net] lista hard disk

Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 11:44
Venerdì, 02/04/2010
vorrei lasciarvi perdere, ma non ci riesco, non uccidetemi.
ho questo codice:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        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



mi da la lista di tutti i drive, come isolo gli hard disk? solo gli hd, niente pennette, cd, altro niente.

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 12:00
Venerdì, 02/04/2010
ti basta controllare il
driveformat
se è NTFS è HD se è FAT è periferica

PM Quote
Avatar
marco444 (Normal User)
Rookie


Messaggi: 55
Iscritto: 28/03/2010

Segnala al moderatore
Postato alle 12:11
Venerdì, 02/04/2010
io ho utilizzato una semplice listbox, e mi dice solo il nome dei drives, però vedo che nel codice teoricamente parlando dovrebbe inserire diverse cose, che componente consigliate?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:07
Sabato, 03/04/2010
Testo quotato

Postato originariamente da walker93:

ti basta controllare il
driveformat
se è NTFS è HD se è FAT è periferica



Io ho una partizione in FAT per i dati... così non risolvi nulla. E le periferiche esterne che hanno molta capienza sono formattate in NTFS

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 10:19
Sabato, 03/04/2010
(beh quello che hai detto mi è nuovo...)

prova con un datagrid
-una colonna per i volumi
-una per lo spazio
-volendo anche altre per altre informazioni

per ottenere il tipo di volume controlla drivetype con un select case
Codice sorgente - presumibilmente VB.NET

  1. Dim driveinfo As New IO.DriveInfo(volume)
  2.             Select Case driveinfo.DriveType
  3.                 Case IO.DriveType.CDRom
  4.                     ListBox2.Items.Add("cdrom")
  5.                 Case IO.DriveType.Fixed
  6.                     ListBox2.Items.Add("hard drive")
  7.                 Case IO.DriveType.Network
  8.                     ListBox2.Items.Add("network")
  9.                 Case IO.DriveType.NoRootDirectory
  10.                     ListBox2.Items.Add("no cartella")
  11.                 Case IO.DriveType.Ram
  12.                     ListBox2.Items.Add("ram")
  13.                 Case IO.DriveType.Removable
  14.                     ListBox2.Items.Add("periferica rimovibile")
  15.                 Case IO.DriveType.Unknown
  16.                     ListBox2.Items.Add("sconosciuto")
  17.             End Select


Ultima modifica effettuata da walker93 il 03/04/2010 alle 10:42
PM Quote