#include <mmsystem.h> #pragma comment(lib, "winmm.lib") void CBbbbDlg::OnOK() { CStringArray filePathName; TCHAR szFilter[] = _T("Wave Files (*.wav)|*.wav|All Files (*.*)|*.*||"); CFileDialog dlg(true, _T("*.wav"), NULL, OFN_ALLOWMULTISELECT, szFilter, this); #define MAXFILE 2562 //2562 is the max dlg.m_ofn.nMaxFile = MAXFILE; TCHAR pc[MAXFILE] = {0}; dlg.m_ofn.lpstrFile = pc; if(dlg.DoModal() == IDOK) { for(POSITION pos = dlg.GetStartPosition(); pos !=NULL; ) { filePathName.Add( dlg.GetNextPathName(pos) ); } } for(int nPos=0; nPos < filePathName.GetSize(); nPos++) { CString fileName = filePathName.GetAt(nPos); if( PlaySound( fileName, NULL, SND_FILENAME |SND_SYNC ) ) { TRACE( _T("Play %s/r/n"), fileName ); } } TRACE( _T("OVER") ); //CDialog::OnOK(); }