用VS2008 SP1的MFC生成office2007风格的MDI窗口,未添加任何代码,直接编译运行,关闭就会报
aaaa.exe 中的 0x7c92e4ff 处最可能的异常: 0xC0000008: An invalid handle was specified输出中有个警告
Warning: CMDIFrameWnd without a default menu.求解是什么原因造成???多谢各位

解决方案 »

  1.   

    补充一下,运行显示窗口后,直接关一切正常。 如果运行显示窗口后点一下打开(执行打开文件动作)再关窗口就报
    aaaa.exe 中的 0x7c92e4ff 处最可能的异常: 0xC0000008: An invalid handle was specified
      

  2.   


    你已经找到问题所在了,你前面不是说  CMDIFrameWnd without a default menu 有这个警告吗,你执行的那个操作可能和这个default menu 是相关的.所以崩溃,你先解决掉这个警告看看.
    你是不是把这个多文档程序的菜单给删掉了...
      

  3.   

    用VS2008的MFC向导生成的框架,什么都没做直接跑的
    default menu是什么呢?
      

  4.   

    XP 打上了XP sp3补丁,原来是sp2
    重装了VS2008 sp1补丁,问题依就
    只要点了框架窗口上的打开或保存,再关闭窗口就报0x7c92e4ff 处最可能的异常: 0xC0000008: An invalid handle was specified错误点其它的按钮没有问题....
      

  5.   

    XP打了sp3补丁?sp3补丁据说和有些软件有冲突
      

  6.   

    指定的handle无效
    可能是资源问题,看看资源文件里menu有什么问题没有。你可以打断点跟一下关闭按钮的事件响应处理函数,看关闭时做了什么操作。
      

  7.   

    调用堆栈中的信息是这样的
    > ntdll.dll!7c92e4ff() 
      [下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
      ntdll.dll!7c943ada() 
      ntdll.dll!7c930435() 
      ntdll.dll!7c92f65c() 
      ntdll.dll!7c92f661() 
      kernel32.dll!7c81cb26() 
      msvcr90d.dll!__crtExitProcess(int status=0)  行732 C
      msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  行644 + 0x9 字节 C
      msvcr90d.dll!exit(int code=0)  行412 + 0xd 字节 C
      aaa.exe!__tmainCRTStartup()  行599 C
      aaa.exe!wWinMainCRTStartup()  行403 C
      kernel32.dll!7c817077()