Détecter un lecteur de cd (interne ou externe)

Résolu

Bonjour,

Je souhaite créer une application dont les données sont centralisées sur un CD unique.

Est-il possible de figer la lettre identifiant le lecteur ?

Exemples : G:fichiers-meteo ou D:Pluviometrie

... ou en windev 20, détecter et accéder au lecteur quelque soit le PC utilisé.

Merci à tous ceux qui acceptent de nous aider
Windows / Chrome 141.0.0.0

4 réponses

  1. Modérateur

    Bonjour,

    La lettre du disque dur est définie par le système d'exploitation Windows, pas par l'application. L'application doit donc examiner les disques existants (par exemple avec la fonction fListDisk). Puis pour chaque disque ainsi obtenu, il faut regarder sa nature (par exemple avec la fonction fDriveInfo) et vérifier s'il concorde avec fdCDRom.

    Bonne chance

    1
    1. Merci pour la rapidite de ta reponse .

      Quelques jours me seront utiles pour faire mes essais.

      je ne manquerais pas de transmettre mes résultats.

      encore merci 

      0
      1. Bonjour,

        Chaque lecteur CD dispose d'un nom unique. Je t'invite à rechercher le nom de ton lecteur.

        ' Fonction VBA pour trouver le lecteur CD par son nom
        Function TrouverCDParNom(sNomCD As String) As String
            Dim fso As Object
            Dim drive As Object
            
            Set fso = CreateObject("Scripting.FileSystemObject")
            
            ' Parcourir tous les lecteurs
            For Each drive In fso.Drives
                If drive.DriveType = 4 Then ' 4 = CD-ROM
                    If drive.IsReady Then
                        If drive.VolumeName = sNomCD Then
                            TrouverCDParNom = drive.DriveLetter & ":\"
                            Exit Function
                        End If
                    End If
                End If
            Next drive
            
            TrouverCDParNom = "" ' CD non trouvé
        End Function
        
        ' Utilisation
        Sub TestCD()
            Dim cheminCD As String
            
            cheminCD = TrouverCDParNom("METEO_DATA")
            
            If cheminCD = "" Then
                MsgBox "CD non trouvé"
            Else
                MsgBox "CD trouvé sur " & cheminCD
            End If
        End Sub
        0
        1. Merci pour toutes vos réponses

          très claires 

          je cloture cette demande 

          0