commande ouverture/fermeture lecteur CD

Le
AnTOniO
Bonjour,
Qq1 pourrait il me poster le code pour ouvrir fermer les lecteurs CDs depuis le
bureau par exemple. Sur les IxTremes on peut facilement les ouvrir mais il faut
les refermer manuellement.
Pour info : j'ai un lecteur-graveur DVD en (D:) et un lecteur DVD-RW en (E:).
Merci.

AnTOniO retier free_ du domaine mail
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
rm
Le #17011181
Le 06 Apr 2004 14:07:29 GMT, AnTOniO a écrit :

Bonjour,



salut,

Qq1 pourrait il me poster le code pour ouvrir fermer les lecteurs CDs depuis le
bureau par exemple. Sur les IxTremes on peut facilement les ouvrir mais il faut
les refermer manuellement.



le code ? quel code ?
il y'a eu un post dernièrement http://minilien.com/?5DYGDN5BDn où JCB
précisait la difficulté (surtout pour la fermeture) pour réaliser cela en
VBS et mettait a disposition deux utilitaires CLOSECD.EXE et EJECTCD.EXE
disponible sur son site.

Pour info : j'ai un lecteur-graveur DVD en (D:) et un lecteur DVD-RW en (E:).



pour info, il est aussi possible d'utiliser du script AutoIt3
(http://www.hiddensoft.com/autoit3/index.php) pour réaliser un truc
semblable, en une seule ligne de "code" :

CDTray ( $CmdLine[1], $CmdLine[2] )

à compiler en cdrom.exe et ensuite :

CDROM.exe D: open pour ouvrir ton graveur DVD
CDROM.exe E: close pour fermer ton lecteur DVD-RW

Merci.



de rien,

@+
--
rm
Jean-Claude BELLAMY
Le #17011141
Dans le message news: ,
AnTOniO
Bonjour,
Qq1 pourrait il me poster le code pour ouvrir fermer les lecteurs CDs
depuis le bureau par exemple. Sur les IxTremes on peut facilement les
ouvrir mais il faut les refermer manuellement.
Pour info : j'ai un lecteur-graveur DVD en (D:) et un lecteur DVD-RW
en (E:). Merci.



j'ai écrit 2 mini-exécutables "EJECTCD.EXE" et "CLOSECD.EXE"
http://www.bellamyjc.org/fr/divers.html#CDtools

Il suffit de passer en paramètre la lettre du lecteur concerné


Pour info, voici mon code (en C) :

EJECTCD.CPP ou CLOSECD.CPP
----------- couper ici -----------
#include #include #include "winbase.h"
#include #include "mmsystem.h"

WORD wGlobalDeviceID;
MCI_SET_PARMS mciset;
MCI_OPEN_PARMS mciOpenParms;
DWORD dwFlags;
DWORD dwRes;
DWORD ls;
LPSTR lpErrStr;
UINT wDeviceID;
char mess[1024];
char drive[2];
char c;
TCHAR szElementName[4];


VOID ErrorProc(LPSTR prompt,DWORD dwRes) {
mciGetErrorString(dwRes,lpErrStr,ls);
CharToOem(lpErrStr,mess);
printf("nerreur %s :n%s",prompt,mess);
}

void syntaxe() {
// Pour la commande CLOSECD, remplacer ci-dessous
// "EJECTCD" par "CLSOECD"
printf("ejectCD - JCB © 2002n");
printf("====================n");
printf("Syntaxe :n");
printf("---------n");
printf("ejectCD <lettre_CD[:]>n");
printf("exemple :n");
printf(" ejectCD Xn");
printf(" ejectCD z:n");
scanf("%c", &c);
}

int main(int argc, char* argv[]) {
if (argc<=1) {
syntaxe();
return 1;
}
strncpy(drive,CharLower(argv[1]),1);
lpErrStr= (LPSTR) GlobalAlloc(GPTR, 1024);
ls24;
wsprintf(szElementName,"%s:",drive) ;
mciOpenParms.lpstrElementName = szElementName;
mciOpenParms.lpstrDeviceType = (LPSTR) MCI_DEVTYPE_CD_AUDIO;
dwRes= mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT |
MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID |
MCI_OPEN_SHAREABLE ,
(DWORD)(LPVOID) &mciOpenParms);
if (dwRes!=0) {ErrorProc("MCI_OPEN",dwRes);}
else{
wDeviceID = mciOpenParms.wDeviceID;

// décommenter ci-dessous la ligne appropriée
// dwFlags=MCI_SET_DOOR_OPEN; // code pour EJECT
// dwFlags=MCI_SET_DOOR_CLOSED; // code pour CLOSE

dwRes=mciSendCommand(wDeviceID,MCI_SET,dwFlags,(DWORD)(LPSTR)&mciset);
if (dwRes!=0) {ErrorProc("MCI_SET",dwRes);}
}
return dwRes;
}
----------- couper ici -----------



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *

Publicité
Poster une réponse
Anonyme