重命名程序崩溃

jl870303 2009-10-22 12:05:47
高分悬赏,在线等待:
我用MFC制作的类似Windows资源管理器或注册表的程序,出现以下严重问题:
当我想重命名文件或文件夹时,我可以右键点击“重命名”,也可以单击文件或文件夹的名字,这时没问题,但当文件名处在输入状态时(这和Windows重命名是一样的),我再次点击文件名,程序崩溃,并且崩溃仅限于再次点击输入状态中的文件名区域,我点击文件名旁边的文件图标,是没有问题的

void CWndRegistryTree::OnRegeditKeyRename()
{
HTREEITEM nItem = GetTreeCtrl().GetSelectedItem();
if(nItem != NULL)
{
REGEDIT reg;
memset(®,0,sizeof(reg));
MakeRegInfo(GetTreeCtrl(),nItem,reg);
m_hCurrItem = nItem;
GetTreeCtrl().SetFocus();
GetTreeCtrl().EditLabel(nItem);
}
}


void CWndRegistryTree::MakeRegInfo(CTreeCtrl& tcRegistry,HTREEITEM hCurItem,REGEDIT ®)
{
HTREEITEM parent;
char value[512],tmp[512];
value[0]=0;tmp[0]=0;
strcpy(value,tcRegistry.GetItemText(hCurItem));
if(strcmp(value,"HKEY_CLASSES_ROOT")==0||
strcmp(value,"HKEY_CURRENT_USER")==0||
strcmp(value,"HKEY_LOCAL_MACHINE")==0||
strcmp(value,"HKEY_USERS")==0||
strcmp(value,"HKEY_CURRENT_CONFIG")==0)
{
strcpy(reg.key,value);
reg.subkey[0]=0;
return;
}
parent=hCurItem;
while((parent=tcRegistry.GetParentItem(parent)))
{
strcpy(tmp,tcRegistry.GetItemText(parent));
if(strcmp(tmp,"HKEY_CLASSES_ROOT")==0||
strcmp(tmp,"HKEY_CURRENT_USER")==0||
strcmp(tmp,"HKEY_LOCAL_MACHINE")==0||
strcmp(tmp,"HKEY_USERS")==0||
strcmp(tmp,"HKEY_CURRENT_CONFIG")==0)
{
strcpy(reg.key,tmp);
strcpy(reg.subkey,value);
return;
}
else
{
strcat(tmp,"\\");
strcat(tmp,value);
strcpy(value,tmp);
}
}
}
...全文
200 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
靳先生 2009-10-26
  • 打赏
  • 举报
回复
不应该有问题,是不是手下误!
jl870303 2009-10-23
  • 打赏
  • 举报
回复


jl870303 2009-10-22
  • 打赏
  • 举报
回复
崩溃界面如下


调用堆栈



跟进调试毫无头绪,望指点
liumenghappy 2009-10-22
  • 打赏
  • 举报
回复
报的什么错?跟踪一下
marrco2005 2009-10-22
  • 打赏
  • 举报
回复
跟进去调试一下
aa3000 2009-10-22
  • 打赏
  • 举报
回复
崩溃点在哪?能调试吗?
MoXiaoRab 2009-10-22
  • 打赏
  • 举报
回复
应该是字符串操作的一些问题
bragi523 2009-10-22
  • 打赏
  • 举报
回复
等图
MoXiaoRab 2009-10-22
  • 打赏
  • 举报
回复
无图无真相
jl870303 2009-10-22
  • 打赏
  • 举报
回复


是不是和鼠标点击操作有关,我感觉是不是应该屏蔽掉鼠标单击事件,不过怎么屏蔽我不会

唉,图意义不大的,我快急死了。拜托大家了
验证码识别 2009-10-22
  • 打赏
  • 举报
回复
跟踪一下看看,注意下访问的内存、句柄是否被释放了
liumenghappy 2009-10-22
  • 打赏
  • 举报
回复
有图吗
aa3000 2009-10-22
  • 打赏
  • 举报
回复
看不到图片

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧