razaphi
Messages postés43Date d'inscriptiondimanche 18 juin 2006StatutMembreDernière intervention 7 août 2007
-
30 mai 2007 à 11:34
razaphi
Messages postés43Date d'inscriptiondimanche 18 juin 2006StatutMembreDernière intervention 7 août 2007
-
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.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 mai 2007 à 11:57
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é.
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 30 mai 2007 à 11:48
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