查找exe同在一个文件夹下的Voices文件夹下的某个MP3是否存在

Code:
  1. void  LoadVoice(TCHAR *lpName)   
  2. {   
  3.     TCHAR appPath[MAX_PATH];   
  4.   
  5.     // 获取exe文件夹路径   
  6.     GetAppPath(appPath,MAX_PATH);      
  7.        
  8.     // 获取插件文件夹路径   
  9.     TCHAR pluginsPath[MAX_PATH];   
  10.     wsprintf(pluginsPath,"%s//Voices",appPath);   
  11.        
  12.     //    
  13.     TCHAR pluginsPattern[MAX_PATH];   
  14.     // 文件夹下所有的mp3文件   
  15.     wsprintf(pluginsPattern,"%s//*.mp3",pluginsPath);   
  16.        
  17.     // 存放文件信息   
  18.     WIN32_FIND_DATA fileinfo;   
  19.        
  20.     // 找到第一个文件   
  21.     HANDLE hFile=FindFirstFile(pluginsPattern,&fileinfo);   
  22.     DWORD errorcode = 0;       
  23.        
  24.    // 定义一个flag为找到的标志   
  25.     BOOL ifCanFind = FALSE;   
  26.     while(hFile!=INVALID_HANDLE_VALUE && errorcode!=ERROR_NO_MORE_FILES)   
  27.     {                  
  28.        
  29.         TCHAR fileName[MAX_PATH*2];    
  30.         TCHAR lpVoiceName[MAX_PATH];   
  31.            
  32.         // 初始化lpVoiceName   
  33.         ZeroMemory(lpVoiceName, sizeof(lpVoiceName));   
  34.         TCHAR *pLastSlash = strrchr(fileinfo.cFileName, '.');   
  35.   
  36.         // printf(pLastSlash);   
  37.         // 得到文件的名称如One.mp3得到One   
  38.         TCHAR *lp = fileinfo.cFileName;   
  39.         // 从fileinfo.cFileName中复制n个字符到lpVoiceName中   
  40.         strncpy(lpVoiceName, fileinfo.cFileName, pLastSlash - fileinfo.cFileName);   
  41.         // fileinfo.cFileName 的全全文件路径   
  42.         wsprintf(fileName,"%s//%s",pluginsPath,fileinfo.cFileName);   
  43.            
  44.         // 判断是歌声名称是否与声音文件名匹配,如果匹配进行操作   
  45.         if (0 == strcmp(lpName, lpVoiceName))   
  46.         {   
  47.             // AfxMessageBox(lpVoiceName);   
  48.             // PlayVoice(fileName);   
  49.             // Sleep(200);   
  50.             // StopVoice(fileName);   
  51.             printf("Find out the %s ok/n", lpName);   
  52.             ifCanFind = TRUE;   
  53.             break;   
  54.         }   
  55.   
  56.         // 否则就查找下一个文件   
  57.         else  
  58.         {   
  59.             FindNextFile(hFile,&fileinfo);   
  60.             errorcode=GetLastError();   
  61.         }   
  62.     }   
  63.     if (FALSE == ifCanFind)   
  64.         printf("Can't find the same mp3!/n");   
  65.     FindClose(hFile);   
  66. }  

 

你可能感兴趣的:(exe,Path)