shinevilkyo
Messages postés52Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 3 août 2004
-
3 sept. 2003 à 09:25
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
3 sept. 2003 à 15:21
voici un bout de mon code j utile la fonc getvolumeinfo mais j ai un pb et je ne trouve po de koi il s agit merci d aider un debutant a rogrammer sous windows:
oid CGetDriveTypeDlg::OnButtGet()
{
// TODO: Add your control notification handler code here
m_List.ResetContent ();
for (char i='a'; i<'z'; i++)
{
path[0] = i;
if (GetDriveType (path) == DRIVE_CDROM)
{
sprintf (res, "%s\\*.*", path);
if (FindFirstFile (res, &fd) == INVALID_HANDLE_VALUE)
sprintf (res, "%s : No Disk", path);
else
{
//mon pb c est que le volume name n est po modifier ce qui en result un retour null de la fonction ce qui fait quel va directement ds le else
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 sept. 2003 à 10:04
Ne teste jamais de la sorte:
if(GetVolumeInformation(...) == 1) NON !!!
MSDN ne dit pas que sera EGAL 1 mais sera != ZERO
if(GetVolumeInformation(...)) la oui, si != 0 OK
shinevilkyo
Messages postés52Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 3 août 2004 3 sept. 2003 à 10:27
merci tout d abort pour ta reponce mais meme avec ce que tu ma dit sa fait la meme chose il va directement ds le esle pkoi je sais pour afficher mes resultat j utile sprintf est ce bien ou non
shinevilkyo
Messages postés52Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 3 août 2004 3 sept. 2003 à 10:29
merci tout d abort pour ta reponce mais meme avec ce que tu ma dit sa fait la meme chose il va directement ds le esle pkoi je sais vraiment po, pour afficher mes resultat j utile sprintf est ce bien ou non
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Ne teste jamais de la sorte:
> > if(GetVolumeInformation(...) == 1) NON !!!
> > MSDN ne dit pas que sera EGAL 1 mais sera != ZERO
> > if(GetVolumeInformation(...)) la oui, si != 0 OK
> >
> > char szname[100];
> > if((GetVolumeInformation("c:", szname, ...))
> > MessageBox(0, szname, "NOM", 0);
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > voici un bout de mon code j utile la fonc getvolumeinfo mais j ai un pb et je ne trouve po de koi il s agit merci d aider un debutant a rogrammer sous windows:
> > >
> > >
> > > oid CGetDriveTypeDlg::OnButtGet()
> > > {
> > > // TODO: Add your control notification handler code here
> > > m_List.ResetContent ();
> > >
> > > char path[] = "a:";
> > > char res[100];
> > > char lpVolumeNameBuffer[256] = "\0";
> > > WIN32_FIND_DATA fd;
> > >
> > > for (char i='a'; i<'z'; i++)
> > > {
> > > path[0] = i;
> > > if (GetDriveType (path) == DRIVE_CDROM)
> > > {
> > > sprintf (res, "%s\\*.*", path);
> > > if (FindFirstFile (res, &fd) == INVALID_HANDLE_VALUE)
> > > sprintf (res, "%s : No Disk", path);
> > > else
> > > {
> > > //mon pb c est que le volume name n est po modifier ce qui en result un retour null de la fonction ce qui fait quel va directement ds le else
> > >
> > >
> > > if(GetVolumeInformation(0,lpVolumeNameBuffer,0,0,0,0,0,0) == 1)
> > > sprintf (res, lpVolumeNameBuffer,path);
> > > else
> > > sprintf (res, " %s : none", path);
> > > }
> > > m_List.AddString (res);
> > >
> > > }
> > > }
> > > }
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > merci d avance pour votre aide
> >
>
shinevilkyo
Messages postés52Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 3 août 2004 3 sept. 2003 à 10:59
tu vas surement trouver que la c est moi la calamite mais c est koi un mfc et quel api a apprendre autant sous unix je sais coder (shell, moteur 3d,robotique)mais po dutout sur windows alors faut etre tres presis avec moi :)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 sept. 2003 à 11:06
Alors pour faire une appli win32 dans VC++:
new project, type win32 APP GUI et VIDE !!! c'est a dire NON MFC, NON headers precompiles....
Ensuite tu prends qqunes de mes sources et tu auras les modeles.
Il te faut aussi de la doc, de la vraie:
http://perso.wanadoo.fr/persans-brunews/ CP5.zip et CP5Sources.zip
JR4.zip et JR4Sources.zip
Commencer par Petzold (CP5), le reste + tard.
BruNews, ciao...
shinevilkyo
Messages postés52Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 3 août 2004 3 sept. 2003 à 14:48
je te remercie le bouquin est genial donc maintenant j arrive a afficher le non de volume avec une message box meme si celui la n est po correcte il m affiche que des ligne de iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii je sais po pkoi mais vais voir(si tu une idee n esite po fait le moi savoir)
merci et a++
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 sept. 2003 à 15:21
GetVolumeInformation(0, szname, 100,0,0,0,0,0);
Devrait aller mieux, faut regarder la doc msdn, une API demande toujours la taille d'un buffer.
BruNews, ciao...