求助读中文名的文件
tkl90 2011-09-22 03:25:57 void Menu_6_List_Mp3(helloworld *pMe)
{
AECHAR *szBuf;
uint16 wItemID = 0;
// char *pFileName = NULL;//9.22上午添加
//AEEFileInfoEx fi = {0};//9.22上午添加
CtlAddItem pai;
ISHELL_CreateInstance(pMe->a.m_pIShell,
AEECLSID_MEDIAMP3,
(void **)&pMe->pPlayMp3);
pMe->pmd.clsData = MMD_FILE_NAME;
// Enumerate all music files and add them to menu
szBuf = MALLOC(MAX_FILE_NAME * sizeof(AECHAR));
if (ISHELL_CreateInstance(pMe->a.m_pIShell,
AEECLSID_FILEMGR,
(void **)&pMe->pIFileMgr)){
FREE(szBuf);
}
//选择文件夹目录
if (selFileType == 0){
IFILEMGR_EnumInit(pMe->pIFileMgr, MP_MP3_DIR, FALSE);
}else if(selFileType == 1){
IFILEMGR_EnumInit(pMe->pIFileMgr, MP_LRC_DIR, FALSE);
}
if(ISHELL_CreateInstance(pMe->a.m_pIShell,
AEECLSID_MENUCTL,
(void**)&pMe->pMenuMp3) != SUCCESS)
return ;
pai.pText = NULL;
pai.pImage = NULL;
pai.wFont = AEE_FONT_BOLD;
pai.dwData = NULL;
pai.pszResImage = NULL;
pai.pszResText = NULL;
pai.wImage = NULL;
while (wItemID < MP_MAX_FILES &&
IFILEMGR_EnumNext(pMe->pIFileMgr, &pMe->fi))
{
//添加菜单项
char *szName = NULL;
pMe->m_NumFiles = wItemID;
//剔除后缀名不是MP3的文件
if (STRENDS( ".mp3", pMe->fi.szName) || STRENDS(".lrc",pMe->fi.szName))
{
szName = Menu_6_GetName(pMe->fi.szName);
STRTOWSTR(szName, szBuf, MAX_FILE_NAME);
pai.pText = szBuf;
//pai.pText = szName;
pai.wItemID = (uint16)(wItemID);
IMENUCTL_AddItemEx(pMe->pMenuMp3, &pai);
}
wItemID++;
FREE(szName);
}
{
AEERect rect;
SETAEERECT(&rect, 0, 0, pMe->DeviceInfo.cxScreen, pMe->DeviceInfo.cyScreen + 5);
IMENUCTL_SetRect(pMe->pMenuMp3, &rect);
IMENUCTL_SetActive(pMe->pMenuMp3,TRUE);
IMENUCTL_Redraw(pMe->pMenuMp3);
}
IMENUCTL_SetActive(pMe->pMenuMp3,TRUE);
pMe->status = STATUS_MENU_6_MP3_LIST;
FREE(szBuf);
}
static char * Menu_6_GetName(const char * psz)
{
char *pszName = NULL;
if (psz== NULL)
return NULL;
pszName = STRRCHR(psz, (int)DIRECTORY_CHAR);
if (pszName != NULL)
pszName++;
else
pszName = (char*)psz;
return pszName;
}
我想问下 为啥我不能读中文文档,通过debug查看,根本就不枚举中文文档(大写英文也一样)。
急求!
灰常感谢!