c++ SHBrowseForFolder获取文件夹路径变成乱码。
文件夹路径:C:\Documents and Settings\Administrator\桌面\나는 너를 사랑한다
却变成了C:\Documents and Settings\Administrator\桌面\?? ?? ????
是想实现点吉选择文件夹按钮时,则获取所选的文件夹的完整路径,结果在中文下是正常的,韩文和日文文件夹名却变成了乱码。望有能力者给予解决,谢谢
//选择搜索路径
void CServerLoginDlg::OnBnClickedSelectpath()
{
UpdateData(TRUE);
CString str;
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner=GetSafeHwnd();
bi.pszDisplayName=name;
bi.lpszTitle="选择一个目录";
bi.ulFlags=BIF_USENEWUI;
LPITEMIDLIST idl=SHBrowseForFolder(&bi);
if(idl==NULL)
return;
SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));
str.ReleaseBuffer();
//中文文件夹路径获取正确。
//换成韩文和日文则获取文件夹路径就变成了乱码。
if(str == "")
return;
if(str.GetAt(str.GetLength()-1)!='\\')
m_strPath+="\\";
UpdateData(FALSE);
}
[/code]