IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Téléchargez Discussion :

[Windows] Identification du type de lecteur (ammovible, fixe, CD-ROM...)


Sujet :

Téléchargez

  1. #1
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut [Windows] Identification du type de lecteur (ammovible, fixe, CD-ROM...)
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Identification du type de lecteur (amovible, fixe, CD-ROM...)
    Voici un code MATLAB permettant d'identifier le type d'un lecteur sous Windows.

    Le code utilise l'API Windows via un fichier C-MEX

    Le fichier source C-MEX ainsi que les versions compilées 32 et 64 bits sont fournis.

    %GETDRIVETYPE Disk drive type
    % DT = GETDRIVETYPE(S) determines whether the disk drives contained in S
    % are removable, fixed, CD-ROM, RAM disk, or network drives. S is a
    % character array or a cell array of strings containing standard drive
    % letters as A:\, B:\, C:\, D:\ ... For each entry of S, DT is one of :
    %
    % 1 : 'Unknown'
    % 2 : 'Invalid root path'
    % 3 : 'Removable media'
    % 4 : 'Fixed media'
    % 5 : 'Remote drive'
    % 6 : 'CD-ROM drive'
    % 7 : 'RAM disk'
    %
    % Exemples :
    %
    % DT = getdrivetype('C:\')
    %
    % DT =
    %
    % 4
    %
    % DT = getdrivetype('F:\')
    %
    % DT =
    %
    % 6
    %
    % See Win32 API reference for more informations :
    % http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
    %
    % GETDRIVETYPE works only on PC (Windows).
    Qu'en pensez-vous ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Ce code fonctionne bien avec la contribution : [Windows] Liste des lecteurs disponibles (amovible, fixe, CD-ROM...)

    Voici un exemple sur mon ordinateur portable avec deux partitions, un lecteur DVD et une clé USB connectée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    D = getlogicaldrives;
     
    typs = {'Unknown' 'Invalid root path' 'Removable media' 'Fixed media' ...
        'Remote drive' 'CD-ROM drive' 'RAM disk'};
     
    for n = 1:numel(D)
        t = getdrivetype(D{n});
        fprintf('Le lecteur %s est de type : %s\n',D{n},typs{t})
    end
    renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Le lecteur C:\ est de type : Fixed media
    Le lecteur D:\ est de type : Fixed media
    Le lecteur E:\ est de type : CD-ROM drive
    Le lecteur F:\ est de type : Removable media
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Une autre fonction dérivée qui teste si un lecteur est un lecteur CD/DVD :
    Code : 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
    38
    function result = iscdrom(S)
    %ISCDROM True for CD-ROM drive letter
    % ISCDROM(S) returns 1 if the drive with letter S is a CD-ROM drive. S is a
    % character array or a cell array of strings containing standard drive
    % letters as A:\, B:\, C:\, D:\ ...
    %
    %   Exemples :
    %
    %    iscdrom('F:\')
    % 
    %     ans =
    % 
    %          1
    %
    %    iscdrom({'A:\' 'C:\' 'F:\'})
    % 
    %     ans =
    % 
    %          0     0     1
    %
    %   ISCDROM works only on PC (Windows).
    %
    %   See also findcdromdrive, getdrivetype, getlogicaldrives.
    %
     
    %   Author: Jerome Briot (MATLAB R2009a)
    %   http://www.developpez.net/forums/member.php?u=125006
    %   http://www.mathworks.com/matlabcentral/fileexchange/authors/21984
    %   Contact: dutmatlab#at#yahoo#dot#fr
    %   Revision: 1.0 (08-Mar-2011)
    %   Comments:
    %
     
    if ~ispc
        error('ISCDROM works only on PC (Windows)');
    end
     
    result = getdrivetype(S) == 6;
    En reprenant l'exemple précédent :
    Code : 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
    >> iscdrom('E:\')
     
    ans =
     
         1
     
    >> iscdrom('F:\')
     
    ans =
     
         0
     
    >> D = getlogicaldrives
     
    D = 
     
        'C:\'    'D:\'    'E:\'    'F:\'
     
    >> iscdrom(D)
     
    ans =
     
         0     0     1     0
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Et l'inverse :

    Code : 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
    function L = findcdromdrive
    %FINDCDROMDRIVE CD-ROM drive letters.
    % L = FINDCDROMDRIVE returns the letters of the currently available CD-ROM 
    % drives in the cell array of strings L.
    %
    %   Exemples :
    %
    %     L = findcdromdrive
    % 
    %     L = 
    % 
    %         'F:\'    'G:\'
    %
    %   FINDCDROMDRIVE works only on PC (Windows).
    %
    %   See also iscdrom.
    %
     
    %   Author: Jerome Briot (MATLAB R2009a)
    %   http://www.developpez.net/forums/member.php?u=125006
    %   http://www.mathworks.com/matlabcentral/fileexchange/authors/21984
    %   Contact: dutmatlab#at#yahoo#dot#fr
    %   Revision: 1.0 (08-Mar-2011)
    %   Comments:
    %
     
    if ~ispc
        error('FINDCDROMDRIVE works only on PC (Windows).');
    end
     
    d = getlogicaldrives;
    idx = iscdrom(d);
     
    L = d(idx);
    Toujours avec le même exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >> L = findcdromdrive
     
    L = 
     
        'E:\'
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. [Windows] Liste des lecteurs disponibles (ammovible, fixe, CD-ROM...)
    Par Jerome Briot dans le forum Téléchargez
    Réponses: 0
    Dernier message: 06/06/2013, 11h15
  2. Connaître son type d'adresse IP (Fixe ou Dynamique)
    Par mehdiing dans le forum Langage
    Réponses: 3
    Dernier message: 09/04/2009, 17h35
  3. windows ne lit pas mon lecteur mp3
    Par 123quatre dans le forum Périphériques
    Réponses: 3
    Dernier message: 20/07/2007, 14h07
  4. Type de lecteur
    Par Ben_Le_Cool dans le forum Delphi
    Réponses: 14
    Dernier message: 11/04/2007, 18h19
  5. [VB6] [Lecteur] Type de lecteur
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 31/01/2003, 23h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo