Récuperer des infos systeme.

Résolu
Marneus73
Messages postés
344
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
27 octobre 2008
- 15 mars 2007 à 18:56
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
- 15 mars 2007 à 20:00
Bonjour à tous:
Comment fait on pour connaître et afficher l'espace disponnible sur le disque C: d'un utilisateur ?
Merci d'avance.

7 réponses

Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
15 mars 2007 à 19:38
Je me demande a qui y sert le code que t'a trouvé ? Surtout le InfosLecteurs

Enfon bon, AvailableFreeSpace retourne se que tu veux non ?







For Each Drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
  If Drive.IsReady Then
    System.Windows.Forms.MessageBox.Show(Drive.AvailableFreeSpace.ToString())
  End If
Next,

----

(Coloration syntaxique automatique par Kenji)







__________
Kenji
3
CCJ
Messages postés
565
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
30 avril 2008
1
15 mars 2007 à 19:08
Salut
A mon avis des sources de ce genre , il doit y en avoir des ... dizaines sur le site .
Si tu cherche bien ca ne devrait as etre un probeme

Si l'informatique été de l'alcool il y aurait des genies partout
0
Marneus73
Messages postés
344
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
27 octobre 2008

15 mars 2007 à 19:11
Oui je viens de trouver ça

On Error Resume Next
        Dim NombreLecteurs As Byte = My.Computer.FileSystem.Drives.Count

        Dim NomsLecteurs As System.Collections.ObjectModel.ReadOnlyCollection(Of System.IO.DriveInfo)
        Dim InfosLecteurs(NombreLecteurs, 8) As String
        Dim Compteur As Byte = 1
        'on commence les lignes du tableau à 1

        NomsLecteurs = My.Computer.FileSystem.Drives

        For Each info As System.IO.DriveInfo In NomsLecteurs

            InfosLecteurs(Compteur, 0) = info.Name
            InfosLecteurs(Compteur, 1) = info.IsReady
            InfosLecteurs(Compteur, 2) = info.DriveType
            InfosLecteurs(Compteur, 3) = info.DriveFormat
            InfosLecteurs(Compteur, 4) = info.VolumeLabel
            InfosLecteurs(Compteur, 5) = info.TotalSize
            InfosLecteurs(Compteur, 6) = info.TotalFreeSpace
            InfosLecteurs(Compteur, 7) = info.AvailableFreeSpace
            Compteur = Compteur + 1
           MessageBox.Show(???)
        Next

Mais il faut mettre quoi dans MessageBox.Show(???) pour voir l'espace disponnible sur le lecteur c: ???
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
15 mars 2007 à 19:16
A mon humble avis :

  InfosLecteurs(Compteur, 0) par exemple ...
ou encore
 InfosLecteurs(Compteur, 6)

enfin quoi : ce que tu veux afficher, à la place des ????, pardi !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CCJ
Messages postés
565
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
30 avril 2008
1
15 mars 2007 à 19:43
.NET powwaaaa?



Merci de ien vouloir check la reponse ci dessus

Si l'informatique été de l'alcool il y aurait des genies partout
0
Marneus73
Messages postés
344
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
27 octobre 2008

15 mars 2007 à 19:50
Super merci bien.
J'ai modifié ton code et c'est pile ce que je voulais.

For Each Drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
            If Drive.IsReady Then
                Dim f As String
                f = Drive.AvailableFreeSpace
                Dim j As String
                j = f / 1000000000
                System.Windows.Forms.MessageBox.Show("Vous disposez de: " + j + " Go sur " + Drive.Name)
            End If
        Next
0
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
15 mars 2007 à 20:00
Oulà ...
Pourquoi faire une division avec des chaine de caractères ? C'est à l'affichage qu'il faut transformer en chaîne.
Et pour concatiser des chaine on utilise l'operateur &
Et 1Go n'est pas égale à 1000000000 octets.

Pour du dotnet powwaaaa ca donnerai :
Dim FreeSpace As Double = System.Math.Round(Drive.AvailableFreeSpace / 1024 / 1024 / 1024, 1)
'Dim FreeSpace As Integer = System.Convert.ToInt32(Drive.AvailableFreeSpace / 1024 / 1024 / 1024)
System.Windows.Forms.MessageBox.Show(String.Format("Vous disposez de: {0} Go sur {1}", FreeSpace, Drive.Name))






__________
Kenji
0