Bonjour,
Mon problème : dresser la liste des unités externes de mon simple PC (hors réseau) et trouver leur type.
Environnement : VB 2013 Express à jour (la 5), sous Windows 8.1 à jour
J'ai trouvé (en cherchant sur Internet en langues F, GB et PL et sur divers forum dont celui-ci) à plusieurs reprises deux solutions proposées, et les ai réunies dans la sub suivante "Test_Lecteurs"
Malheureusement, aucune d'elle ne sait distinguer un lecteur interne d'un externe.
Mes lecteurs C, E et F (trois partitions du disque interne), G et H sont tous du même type : soit Fixed (3), soit Removable (2)
Je ne peux me résoudre à penser qu'en VB 2013 il est impossible de distinguer un disque dur externe d'un lecteur interne...
surtout à la vue de l'immensité des résultats fournis par des logiciels de test de disques.
QUESTION : question évidente, quelqu'un a-t-il remarqué ces bizarreries, quelqu'un a-t-il une solution de remplacement ?
Je vous remercie par avance, espérant avoir été clair.
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Private Sub Test_Lecteurs() ' dresser la liste des unités externes connectées ' Normalement, les retours possibles sont : ' - Unknown : 0 ' - NoRootDirectory : 1 ' - Removable : 2 ' - Fixed : 3 ' - Network : 4 ' - CDRom : 5 ' - Ram : 6 Dim Liste As String = "" ' ====================================================== ' avec cette méthode ils sont tous données Fixed (3) ' sauf le lecteur de CD : CDRom (5) ' ====================================================== Dim drives() As IO.DriveInfo = IO.DriveInfo.GetDrives For Each drv As IO.DriveInfo In drives Liste = Liste & drv.Name & ", " & drv.DriveType & vbCrLf Next Liste = Liste & vbCrLf ' ====================================================== ' avec cette méthode ils sont tous données Removable (2) ' sauf le lecteur de CD : Network (4) ' ====================================================== Dim FSO = CreateObject("Scripting.FileSystemObject") For Each drv In FSO.Drives Liste = Liste & drv.DriveLetter & ", " & drv.DriveType & vbCrLf Next MsgBox(Liste) End Sub
Partager