Cd rom obligatoire

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 - 20 févr. 2005 à 11:32
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 21 févr. 2005 à 20:31
Bonjour,


Je voudrais savoir si vous pouviez me mettre juste sur la voie pour realiser un programme qui demmanderais qu'un cd rom special est toujours dans le lecteur pour que le programme ne s'arrete pas.

Je penser tout d'accord à une façon trés basique, mais qui releve beaucoup de 'failles'; lancer en meme temps que le programme en question (stoquer sur le dd) un autre programme qui agira suivant une while et qui testera toutes les 10 secondes si un fichier testeur et contenu dans le lecteur cd, et qu'il correspondt en taille, nom extension, voir les 10 derniers bit identique.

- Savez comment peut ton faire que sur le meme programme qui ce lance, un genre de 'processus' ce fase toute les x secondes tout en executant normalement le reste du programme ? (forme de timer independant)
- Y'atil un moyen efficace de determiner le lecteur de CD-ROM installer par defaut (sous windows).
- Peut-on obtenir le nom du volume (cd rom) contenant dans un lecteur ?

Merci d'avance.

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2005 à 11:57
pourquoi 'LE' au singulier, j'ai des tours avec 3 lecteurs CD/DVD, alors...
sous Windows: GetDriveType()

ciao...
BruNews, MVP VC++
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
21 févr. 2005 à 20:14
Salut,
C'est vrai ta pas tord! merci pour ta réponse jy prlongerais dessus, mais il doit bien avoir un moyen de deja recolter le numero des lecteurs consider comme lecteur cd, puis de selectionner le premier venu.
Parcontre pour la premiere question je suis au stat null
Savez comment peut ton faire que sur le meme programme qui ce lance, un genre de 'processus' ce fase toute les x secondes tout en executant normalement le reste du programme ? (forme de timer independant)

merci
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 févr. 2005 à 20:31
Exemple qui remplit un combobox de la liste des lecteurs CD, tu adapteras pour mettre dans un tableau:
void __stdcall FillCmbDrives(HWND hcmb)
{
DWORD dwdrvs;
char szdrv[4];
if(!(dwdrvs = GetLogicalDrives())) return;
*((DWORD*)&szdrv) = 0x5C3A41;
goDrvs:
if(dwdrvs & 1)
if(GetDriveType(szdrv) == DRIVE_FIXED)
SendMessage(hcmb, CB_ADDSTRING, 0, (long) szdrv);
szdrv[0]++;
if(dwdrvs >>= 1) goto goDrvs;
SendMessage(hcmb, CB_SETCURSEL, 0, 0);
}

Une verif dans un thread avec GetVolumeInformation() et le tour est joué.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous