CFileDialog类无故崩溃的解决及原因分析
在最简单的MFC对话框应用程序里使用CFileDialog对象打开文件对话框。第一次打开都正常,每当第二次调出打开对话框后,只要鼠标在文件上晃动下就会崩溃,调试器断在shell32.dll模块里。显示Unhandled exception in test.exe (SHELL32.DLL): 0xC0000005 Access Voilation. 但是换成虚拟机或其他机器又会好。经过进一步调试,
·
在最简单的MFC对话框应用程序里使用CFileDialog对象打开文件对话框。第一次打开都正常,每当第二次调出打开对话框后,只要鼠标在文件上晃动下就会崩溃,调试器断在shell32.dll模块里。显示Unhandled exception in test.exe (SHELL32.DLL): 0xC0000005 Access Voilation. 但是换成虚拟机或其他机器又会好。经过进一步调试,发现是Adobe Acrobat的一个组件使用了Shell扩展编程导致的。这个原因查了半天,所以特意记录在这,以免以后忘记了。解决方法很简单在应用程序类CWinApp的InitInstance函数中调用一下AfxOleInit();就好了。
更多推荐
已为社区贡献17条内容
所有评论(0)