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

razaphi 43 Messages postés dimanche 18 juin 2006Date d'inscription 7 août 2007 Dernière intervention - 30 mai 2007 à 11:34 - Dernière réponse : razaphi 43 Messages postés dimanche 18 juin 2006Date d'inscription 7 août 2007 Dernière intervention
- 5 juin 2007 à 10:01
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 30 mai 2007 à 11:57
3
Merci
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é.

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de jmfmarques
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 30 mai 2007 à 11:46
0
Merci
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

 
Commenter la réponse de cs_Exploreur
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 30 mai 2007 à 11:48
0
Merci
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
Commenter la réponse de cs_Nicko11
razaphi 43 Messages postés dimanche 18 juin 2006Date d'inscription 7 août 2007 Dernière intervention - 5 juin 2007 à 10:01
0
Merci
Merci les codeurs, j'ai pu par vos interventions trouver solution à mon probleme.
Commenter la réponse de razaphi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.