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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐