Slt tlm, je cherche un moyen d'ouvrir le lecteur cd et dvd, et de les fermer.@+
Slt tlm, je cherche un moyen d'ouvrir le lecteur cd et dvd, et de les fermer.@+
Eh bien, il semblerait qu'il y ait plusieurs solutions: Diverses solutions à haut niveau que je ne connais pas, utilisant généralement MFC, COM, etc.
Ou bien, à bas niveau avec la fonction DeviceIoControl(): cherche la doc de IOCTL_STORAGE_EJECT_MEDIA et IOCTL_STORAGE_LOAD_MEDIA...
un petit exemple:
Edit: À bas niveau, tu choisis directement avec la lettre (\\.\E: par exemple) mais:
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 DWORD dwBytesReturned; HANDLE hDevice = CreateFile(deviceName, GENERIC_READ | GENERIC_WRITE | FILE_READ_ATTRIBUTES, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); DeviceIoControl( hDevice, // handle to device IOCTL_STORAGE_EJECT_MEDIA, // dwIoControlCode NULL, // lpInBuffer 0, // nInBufferSize NULL, // lpOutBuffer 0, // nOutBufferSize &dwBytesReturned, // number of bytes returned : never NULL NULL // OVERLAPPED structure ); CloseHandle(hDevice);
1) C'est déconseillé (sécurité etc.),
2) il faut être membre du groupe administrateurs
3) Ca ne marche que sous les windows NT
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
salut,
![]()
Ce même sujet a été traité cette semaine,
voir la fin du post it faq deux contributions ont été postées.
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
regarder dans les commandes MCI dans le MSDN ; ça se fait tout simplement.
le prob que je rencontre, c'est que j n'arrive pas a ouvrir le lecteur cd. J'utilise la commande mciSendString(); et ca ouvre tjs le lecteur dvd. Je voudrais pouvoir ouvrir les 2.
il faut faire une recherche sur tous les lecteurs et considérer celui que l'on souhaite ouvrir.Envoyé par ArkAng3
Il ya des API pour ça du genre GetVolumeLabel GetDriveType....
Voir MSDN
A la fin y'a un lien vers comment spécifier le lecteur avec MCI, sinon une alternative avec les IOCTL:
http://www.developpez.net/forums/vie...241301#2241301
Partager