Détecer la présence d'un disque amovible et la présence d'un CD dans le lecteur [Résolu]

Signaler
Messages postés
43
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
7 août 2007
-
Messages postés
43
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
7 août 2007
-
Salut les Codeurs. J'ai un problème. Voila, je voudrai savoir comment détecter automatiquement la presence d'un disque amovible dans mon application et y accéder pour y copier un fichier. Egalement comment verifier si un CD est présent ou non dans le lecteur CD. Merci pour votre bonne aide et votre comprehension.

4 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
Bonjour,
Si VB.Net ne t'offre pas du tout fait (ce que j'ignore), tu peux toujours utiliser les 2 fonctions ci-après de l'Api de Windows :
GetLogicalDrives de la librairie Kernel32
et
GetDriveType de la librairie Kernel32

La 1ère listera tous les lecteurs disponible
La 2ème (pour chaque lecteur trouvé) t'en indiquera le type
Il te suffira alors de lister la racine de tout ce qui est amovible pour voir si elle contient quelque-chose et quoi ...

Il me semble bien avoir fourni ce code il y a environ 2 mois, en réponse à une question identique sous VB6
Le principe et les fonctions utilisées sont les mêmes (seul le typage est à modifier de long à Integer sous VB.Net)
Tu peux également te passer de la première de ces 2 fonctions (GetLogicalDrives) et la remplacer par l'utilisation de :

Private Sub FindAllDrives()
  Dim strDrives() As String
  strDrives = Directory.GetLogicalDrives  
  Dim strDrive As String
  For Each strDrive In strDrives
    DriveList.Items.Add(strDrive)
  Next
  DriveList.SelectedIndex = 1
End Sub
pour lister tes lecteurs, puis utiliser la fonction GetDriveType pour déterminer le type de chaque lecteur ainsi trouvé.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Regarde sur le site, il y a des source qui se rapporte à ta demande, me semble bien que Renfield à quelque chose au niveau Cd....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Salut,

je viens de voir une API qui pourrait t'intéresser (enfin j'espere)

Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" ( _
ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
Messages postés
43
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
7 août 2007

Merci les codeurs, j'ai pu par vos interventions trouver solution à mon probleme.