首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DialogBox在Win7坠毁

DialogBox在Win7坠毁
EN

Stack Overflow用户
提问于 2013-09-27 06:18:44
回答 1查看 472关注 0票数 1

我用VC++开发了windows应用程序。我使用一个CFileDialog来显示一个对话框。然而,当我右键单击对话框时,它就崩溃了。在XP中,相同的代码工作得很好。我读过一些Vista风格不再受支持的地方。因此,我对代码进行了如下修改。不过,我还是撞车了

代码语言:javascript
复制
CFileDialog dlg(FALSE, _T("*.xml"),strFileName ,OFN_HIDEREADONLY, 
                         _T("(*.xml)|*.xml|(*.*)|*.*||"), NULL, 0,FALSE);

if (IDOK == dlg.DoModal()) //crash here on right click
{
        //CString folder = dlg.GetFolderPath();
        strFileName = dlg.GetPathName();
        SetFileName ( T2CW (strFileName)); 

}

下面是堆栈跟踪

ole32!CServerContextActivator::CreateInstance+245 ole32!ActivationPropertiesIn::DelegateCreateInstance+5e ole32!CApartmentActivator::CreateInstance+88 ole32!CProcessActivator::CCICallback+4e ole32!CProcessActivator::AttemptActivation+33 ole32!CProcessActivator::ActivateByContext+7f ole32!CProcessActivator::CreateInstance+77 CProcessActivator::ActivateByContext+7f ole32!ICoCreateInstanceEx+5f5 ole32!ICoCreateInstanceEx+5f5 ole32!ole32!en2 20!en23#!en25#!en2!en29#!en31#!:ShowContextMenu+1f1 shell32!CDefView::_OnContextMenu+110 shell32!CDefView::WndProc+889 shell32!CDefView::s_WndProc+7c user32!UserCallWinProcCheckWow+1ad user32!CallWindowProcAorW+dc user32!CallWindowProcW+18 comctl32_7fefbdd0000!CallOriginalWndProc+1d comctl32_7fefbdd0000!CallOriginalWndProc+1d!en0!en24#!en26#!en28#!en30#!ntdll!en33#!en35#!en37!uxtheme!uxtheme!uxtheme!en43!en45##46!#en46!shell32!CListViewHost::s_ListViewSubclassWndProc+31e comctl32_7fefbdd0000!en22#!en24#!en26#!en1!en30#!en32#!en34#!en38#!en40#en42#en44#en46##47!en34#!en38#!en40#en42#en44#en46#en32#!en34#!en38#!en40#en42#en44#en46#en32#!en34#!en38#!en40#en42#en44 en46 en32#!en34#!en38#!en40#en42#en44#en46#en32#!en34#!en38#en40#en42#en44::s_ListViewSubclassWndProc+31e comctl32_7fefbdd0000!CallNextSubclassProc+8c comctl32_7fefbdd0000!MasterSubclassProc+e7 user32!UserCallWinProcCheckWow+1ad user32!DispatchMessageWorker+3b5 user32!IsDialogMessageW+153 user32!DialogBox2+197 user32!InternalDialogBox+135 user32!InternalDialogBox+135 user32!DialogBoxIndirectParamAorW+58 InternalDialogBox+135 19#!en21#!!en26#!ntdll!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-03 06:44:38

如果我从上下文菜单禁用NVDIA CPL上下文菜单扩展,则此问题将得到解决。然而,这仍然是一个谜,因为同样的代码也适用于其他应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19043936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档