salut !
Mon appli est censée détecter quand des nouveaux *.hd arrivent dans un dossier . Lorsque ca arrive, une boite de dialogue s'ouvre et une musique se met en route jusqu'à ce qu'on ferme la dialogBox. mai le pb c'est que la musique ne se met pas en marche et que la détection ne marche plus (avant je fonctionnait simplement avec WIN32 )
voila mon "main" :
#include <fstream>
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment (lib,"winmm.lib") //librairie => playsound
#include "resource.h"
using namespace std;
LRESULT CALLBACK MainProc(HWND Dlg,UINT mssg,WPARAM wParam,LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
int i=0;
int new_nb=0,old_nb=0;
HANDLE hd;
WIN32_FIND_DATA w32hd;
HWND hDlg;
//détection des *.hd
while(1){
int nb=0; //sera le nombre de fichiers *.hd
char leshd[256] = "*.hd"; //tableau stockant les fichiers *.hd
//prendre le 1er fichier
hd = FindFirstFile ( leshd, &w32hd );
//si il y a un autre fichier recommencer l'operation
while (FindNextFile( hd, &w32hd)) nb++;
//si il y a des fichier avec l'extension .hd
if (hd!=INVALID_HANDLE_VALUE) new_nb = nb;
//si la nouvelle valeur de nb est différente de l'ancienne valeur (+ de .hd)
if (new_nb >> old_nb){
//mise à jour de nb
old_nb = new_nb;
hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
ShowWindow(hDlg,SW_SHOW);
MSG msg;
while(GetMessage(&msg,hDlg,0,0)==TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
//en cas de vidage mensuel du dossier
else old_nb = new_nb; //remise à jour de la valeur de nb
Sleep(3000);
i++;
}
return 0;
}
LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
{
int Select;
switch(message)
{
case WM_COMMAND:
Select=LOWORD(wParam);
switch(Select)
{
//lecture d'un son *.wav
PlaySound("d:\\dog.wav",GetModuleHandle(NULL), SND_FILENAME|SND_ASYNC);
//si appui sur OK, fermeture de la boite de dialogue
case IDOK:
EndDialog(Dlg,0);
PostQuitMessage(0);
return TRUE;
}
default:
return FALSE;
}
}
Si vou voyez quel pourrai être le problème , n'hésitez pas !!
Merci
Attention !! ne me mouillez po ! il parait ke je deviendrait méchant ...