我有一个Firefox插件dll,在Windows XP中工作正常但在Windows 7中崩溃。问题是CWindowImpl :: Create()无法创建Window(窗口句柄为NULL)。此外,GetLastError()返回NULL。
我正在使用ATL 3.0。我在想是否会出现问题,因为CComModule等许多接口类现在已经过时了。但令人惊讶的是,同样的API适用于IE9。所以,无法得出任何结论。我还没有找到解决方案。在msdn论坛中找到了类似的查询 - http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/2f200b88-622a-4f7c-9833-7d08bac4fa5f/但还没有解决方案。
任何帮助都将受到高度赞赏。
Raveesh
答案 0 :(得分:1)
我在Windows 7的FF插件中找到了解决此问题的方法。答案在于DEP(数据执行保护)。我的Windows 7计算机启用了此功能。禁用此功能后,我可以在Firefox中运行我的插件。以下是在Windows 7中禁用DEP的方法。
理想情况下,启用DEP后,如果要运行插件,则必须使用最新版本的Windows SDK构建插件。
原始链接 - http://techbaraha.blogspot.com/2011/12/firefox-plugin-on-windows-7-workaround.html