+ -
当前位置:首页 → 问答吧 → 打开目录对话框在分区卷标过长时就出错了

打开目录对话框在分区卷标过长时就出错了

时间:2011-12-22

来源:互联网

void CModifyExtDlg::OnButton1() 
{
BROWSEINFO browinfo;  
ITEMIDLIST itemlist;  
memset(&browinfo,0,sizeof(BROWSEINFO));  
memset(&itemlist,0,sizeof(ITEMIDLIST));
browinfo.hwndOwner=m_hWnd;  
browinfo.pidlRoot=&itemlist;  
browinfo.pszDisplayName="浏览";  
browinfo.lpszTitle="请选择目录";  
LPITEMIDLIST pitemlist=SHBrowseForFolder(&browinfo); 
char szdir[256]={0};  
SHGetPathFromIDList(pitemlist,szdir);  
m_dir.SetWindowText(szdir);  
}

这代码在分区卷标不长的时候能正确返回。一旦卷标长了。就会出现一个MFC42。DLL出错的提示。

请教各位高手,这个问题有没有解决的办法呢?

我的是VC++6.0

先谢谢大家了

作者: awfymwvf   发布时间: 2011-12-22

char szdir[MAX_PATH]={0}

作者: fairyprince   发布时间: 2011-12-22