Page 1 sur 1

[R] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:31
par GhostLine
Salut tout le monde !

Encore pour une autre boite :) je ne m'arrête plus :p

J'ai cherché à savoir la manière de procéder pour détecter le fait qu'un CD ait bien été inséré dans un lecteur cible (pas le fait de vérifier quel CD était dans le lecteur, mais bien de détecter qu'il y un CD dans le lecteur), et rien à faire ... j'ai tenté plusieurs méthodes, sans succès ... une idée ?

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:39
par Davyly
Bonjour,

Regarde les fonctions DriveGetDrive("CDROM") et DriveStatus ("path"), je pense que tu y trouveras ton bonheur.

Bon après midi.

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:41
par scorp84
Bonjour GhostLine,

Je me suis creusé longtemps sur ce problème et j'ai pas encore trouvé de solution :-( et ce même avec "DriveGetDrive("CDROM")" et "DriveStatus ("path")" que proposes Davyly.

Si tu trouves, je suis preneur ;-)

Amicalement.

BM

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:43
par Serge63
Bonjour

est-ce que tu as essayé avec DriveStatus ?

oups...trop tard...

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:45
par scorp84
Serge63 : J'avais édité le message entre temps ;-)

Amicalement.

BM

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:48
par scorp84
Voici le bout de code que j'avais fait (mais non fonctionnel malheureusement :-(
► Afficher le texte
Si d'autres ont mieux ou veulent améliorer le code, faites vous plaisir ;-)

Amicalement.

BM

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 15:57
par GhostLine
Testez Drivestatus, et vous verrez ... nan, sérieusement, ça ne fonctionne pas ^^ j'ai tenté une petite boucle if, et pour une raison que j'ignore, si je fais un truc du genre

if drivestatus("f:\") <> "NOTREADY" then

la condition est validée de manière automatique, que le CD soit "plein" ou pas ..

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 16:12
par scorp84
Ouf :-)

J'ai cru que ça venait de moi...

Amicalement.

BM

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 16:23
par Davyly
Je viens d'écrire rapidement ce petit bout de code, uniquement dans le but de tester la présence d'un CD dans le lecteur et cela semble fonctionner ...

Code : Tout sélectionner

$cd = DriveGetDrive("CDROM")
If @error Then
    MsgBox(16, "Erreur", "Aucun lecteur de type CDROm présent sur ce poste.")
    Exit
EndIf
While 1
    For $i = 1 to $cd[0]
        If DriveStatus($cd[$i]) = "READY" Then MsgBox(64, "Information", "Un CD est présent dans le lecteur CDROm " & $cd[$i])
    Next
    Sleep("200")
WEnd
 
Bonne fin de journée.

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 19:50
par Tlem
Perso, je modifierais le script en remplacent la ligne

Code : Tout sélectionner

        If DriveStatus($cd[$i]) = "READY" Then MsgBox(64, "Information", "Un CD est présent dans le lecteur CDROm " & $cd[$i])
par

Code : Tout sélectionner

        If DriveStatus($cd[$i]) = "READY" Then 
            MsgBox(64, "Information", "Un CD est présent dans le lecteur CDROm " & $cd[$i])
            Exit
        EndIf
Sinon, ca boucle. ;)

J'utilise le même type de code depuis longtemps et il fonctionne sous XP, Vista et Seven. ;)

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 20:17
par Davyly
Bonsoir,
Tlem a écrit :Sinon, ca boucle. ;)
Effectivement, ca boucle mais comme je le disais, c'était uniquement pour tester la présence d'un CD. La boucle était là pour que GhostLine mette un CD, éjecte le CD, le remette pour qu'il vérifie le fonctionnement du script. A partir de là, tout est permis, l'appel d'une fonction, vérification par exemple, etc etc ... Enfin suivant ses besoins. A lui d'adapter maintenant.

Bonne soirée.

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : ven. 26 mars 2010 21:36
par Tlem
Effectivement.
Dans ce cas voici un code légèrement plus complet (mais c'est seulement pour la forme ;) ).
► Afficher le texte

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : dim. 28 mars 2010 13:58
par Davyly
Bonjour,

Whaou, :shock: tu t'es fait plaisir là.
C'est complet rien à dire ... tu vas bien au dela du simple test :wink:

Bon après midi.

Re: [..] Condition à remplir : le lecteur CD contient un média

Posté : dim. 28 mars 2010 16:19
par Tlem
Ouais, mais c'est quand même vous qui avez donné la solution en premier. :lol:
Après le reste, c'est pour faire joli ...

Re: [R] Condition à remplir : le lecteur CD contient un média

Posté : lun. 29 mars 2010 14:34
par GhostLine
Merci à tous pour vos réponses, je vais tester ça, mais y'a pas de raisons que ca ne fonctionne pas :)