激活导致0xc000007b,windows无法立即激活错误代码0xC004F075
该程序在windowsXP和Windows7 32系统下运行良好。今天安装了windows7 64位系统(注意,程序本身还是32位开发的)。运行时出现错误“0xC015000F被停用的激活上下文不是最近激活的”。花了很长时间才解决。以下摘要如下:
网上提到的很多方法都是调用cwin app:InitInstance();该接口后跟afxAmbientActCtx=FALSE采用这种方法后我确实不会有这个问题,但是我的程序中有些代码会因为这个变量设置为false而无法执行,所以会出现其他问题,所以我放弃这种方法。
我的方法是调试时抛出所有MFC异常,不让MFC处理异常,这样就不会造成崩溃。方法如下:在VS2008中,“调试”菜单-“异常”-“Win32异常”,然后抛出所有这些异常,并全部检查。但是,这也应该抛出其他异常,比如内存越界等等。您的代码最好在其他计算机上测试,以处理这些异常。
抛出异常后,发现自己写的代码漏洞太多。同样,我建议每个人都抛出异常。
最近检查完所有异常后,保存一个普通的FileSaveDlg时,切换输入法会引起异常。汗!~
不要先分析,果断先把异常扔回去!