Salut a tous.
Je cherche un code BCB pour connaitre si mon CDROM est fermé ou ouvert.
Merci.
Salut a tous.
Je cherche un code BCB pour connaitre si mon CDROM est fermé ou ouvert.
Merci.
Je ne pense pas que sa existe dans l'API de Windows car si tu fais Éjecter sur ton CDROM dans le poste de travail, le message ne change pas pour Fermer. En plus lorsque l'on clique sur Éjecter lorsqu'il est ouvert, il n'est pas possible de le fermer.
Pour faire ce genre d'opération cela ne peut être qu'avec une API Window
Regarder autour de DeviceIOControl et IOCTL_STORAGE_CHECK_VERIFY dans le MSDN.
Sinon regarder autour des commands MCI.
Ou autre solution si tu ne trouve pas, pose directement ta question sur le forum Developpement Windows.
Je pense que peut-être avec une programmation en assembleur ça marchera.
inspires toi de ceci
Pour ouvrir :
mciSendString("Set cdaudio door open wait", 0, 0, 0);
Pour fermer :
mciSendString("Set cdaudio door closed wait", 0, 0, 0);
Dans le cas de plusieurs lecteurs, il vous faut initialiser le lecteur concerné avec la commande suivante :
mciSendString("open F:\ type cdaudio alias cdaudio"); // le lecteur est ici F
De la même façon, vous aurez à utiliser la commande suivante pour clôturer l'association :
mciSendString("close cdaudio", 0, 0, 0);
Tout ceci donne donc le code suivant pour ouvrir par exemple :
mciSendString("open F:\ type cdaudio alias cdaudio", 0, 0, 0);
mciSendString("Set cdaudio door open wait", 0, 0, 0);
mciSendString("close cdaudio", 0, 0, 0);
Partager