VC++问题:有未经处理的异常: 0xC0000005
代码如下BROWSEINFObrowInfo;//定义浏览对象ITEMIDLISTitemList;memset(&browInfo,0,sizeof(BROWSEINF...
代码如下
BROWSEINFO browInfo; //定义浏览对象
ITEMIDLIST itemList;
memset(&browInfo,0,sizeof(BROWSEINFO));
memset(&itemList,0,sizeof(ITEMIDLIST));
browInfo.hwndOwner=m_hWnd;
browInfo.pidlRoot=&itemList;
browInfo.pszDisplayName=L"浏览";
browInfo.lpszTitle=L"请选择目录:";
LPITEMIDLIST pItemList=SHBrowseForFolder(&browInfo); //显示目录浏览窗口
char szDir[256]={0};
SHGetPathFromIDList(pItemList,LPWSTR(szDir)); //获取用户选择的目录
m_FileDir.SetWindowText(LPWSTR(szDir));
在运行到(LPITEMIDLIST pItemList=SHBrowseForFolder(&browInfo); //显示目录浏览窗口)这里出错,编译时没有问题啊
错误消息是:
BMP Namer.exe 中的 0x771e73ce 处最可能的异常: 0xC0000005: 写入位置 0x0041cdd4 时发生访问冲突
BMP Namer.exe 中的 0x771e73ce 处有未经处理的异常: 0xC0000005: 写入位置 0x0041cdd4 时发生访问冲突
求大神怎么修改啊?
在线等啊!!!!!!!
77F4418E mov byte ptr [esi],al
错误的地址 展开
BROWSEINFO browInfo; //定义浏览对象
ITEMIDLIST itemList;
memset(&browInfo,0,sizeof(BROWSEINFO));
memset(&itemList,0,sizeof(ITEMIDLIST));
browInfo.hwndOwner=m_hWnd;
browInfo.pidlRoot=&itemList;
browInfo.pszDisplayName=L"浏览";
browInfo.lpszTitle=L"请选择目录:";
LPITEMIDLIST pItemList=SHBrowseForFolder(&browInfo); //显示目录浏览窗口
char szDir[256]={0};
SHGetPathFromIDList(pItemList,LPWSTR(szDir)); //获取用户选择的目录
m_FileDir.SetWindowText(LPWSTR(szDir));
在运行到(LPITEMIDLIST pItemList=SHBrowseForFolder(&browInfo); //显示目录浏览窗口)这里出错,编译时没有问题啊
错误消息是:
BMP Namer.exe 中的 0x771e73ce 处最可能的异常: 0xC0000005: 写入位置 0x0041cdd4 时发生访问冲突
BMP Namer.exe 中的 0x771e73ce 处有未经处理的异常: 0xC0000005: 写入位置 0x0041cdd4 时发生访问冲突
求大神怎么修改啊?
在线等啊!!!!!!!
77F4418E mov byte ptr [esi],al
错误的地址 展开
1个回答
展开全部
应该是SHBrowseForFolde这个函数调用失败了,出现这种情况肯定是哪个指针赋值失败了,
SHGetPathFromIDList(pItemList,LPWSTR(szDir)); 如果上面调用失败的话,那么这里访问pItemList就有可能出现上面的问题,你可以在上面函数处下个断点,看看是否调用成功。
SHGetPathFromIDList(pItemList,LPWSTR(szDir)); 如果上面调用失败的话,那么这里访问pItemList就有可能出现上面的问题,你可以在上面函数处下个断点,看看是否调用成功。
追问
我所有代码都在这了,你可以帮我改一下吗?这段代码作用就是获取用户选择的目录
控件有两个编辑框一个的成员变量是m_FileDir,另一个是m_Prefix,类型都是CEdit,
这段代码是当一个按钮被单击时触发的。
追答
这个我也得研究一下啊,就看你出现的这个提示,应该是函数失败了,因为你就定义了一个指针,你可以在这个函数下面加一句DWORD A=GetLastError()然后根据A的值看看你的问题出在哪
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询