#include "windows.h"
#include <wchar.h>
#include <locale.h>
#include "mmsystem.h"
#pragma comment(lib,"winmm.lib")
int find_all_files(wchar_t* lpPath)
{
setlocale(LC_ALL, "chs");
WIN32_FIND_DATA FindFileData;
wchar_t wcPath[MAX_PATH];
wcscpy_s(wcPath, lpPath);
wcscat_s(wcPath, L"\\*.*");
HANDLE hFind = ::FindFirstFile(wcPath, &FindFileData);
if (INVALID_HANDLE_VALUE == hFind)
return -1;
do
{
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (wcscmp(FindFileData.cFileName, L".") != 0 && wcscmp(FindFileData.cFileName, L"..") != 0)
{
//发现子目录,递归之
wchar_t szFile[MAX_PATH];
wcscpy_s(szFile, lpPath);
wcscat_s(szFile, L"\\");
wcscat_s(szFile, FindFileData.cFileName);
find_all_files(szFile);
}
}
else
{
if (wcswcs(FindFileData.cFileName, L".wav") != 0) {
wchar_t szFile[MAX_PATH];
wcscpy_s(szFile, lpPath);
wcscat_s(szFile, L"\\");
wcscat_s(szFile, FindFileData.cFileName);
wprintf(L"%s\n", szFile);
sndPlaySound(szFile, SND_SYNC);
}
}
} while (::FindNextFile(hFind, &FindFileData));
::FindClose(hFind);
return 0;
}
int main(int argc, char* argv[])
{
find_all_files(L"C:\\Windows\\Media");
system("pause");
return 0;
}
遍历目录下所有wav并播放
最新推荐文章于 2023-04-11 23:50:21 发布