Firefox CWindowImpl::Create()在Windows 7中失败

Firefox CWindowImpl::Create()在Windows 7中失败,firefox,windows-7,npapi,browser-plugin,Firefox,Windows 7,Npapi,Browser Plugin,我有一个Firefox插件dll,它在WindowsXP中运行良好,但在Windows7中崩溃。问题在于CWindowImpl::Create()无法创建窗口(窗口句柄为NULL)。此外,GetLastError()返回NULL 我正在使用ATL 3.0。我在想这是否会是一个问题,因为像CComModule这样的许多接口类现在已经过时了。但令人惊讶的是,同样的API也适用于IE9。因此,无法得出任何结论。我还没有找到解决这个问题的办法。在msdn论坛中发现类似的查询-但尚未找到解决方案 任何帮助

我有一个Firefox插件dll,它在WindowsXP中运行良好,但在Windows7中崩溃。问题在于CWindowImpl::Create()无法创建窗口(窗口句柄为NULL)。此外,GetLastError()返回NULL

我正在使用ATL 3.0。我在想这是否会是一个问题,因为像CComModule这样的许多接口类现在已经过时了。但令人惊讶的是,同样的API也适用于IE9。因此,无法得出任何结论。我还没有找到解决这个问题的办法。在msdn论坛中发现类似的查询-但尚未找到解决方案

任何帮助都将不胜感激


Raveesh

我在Windows7的FF插件中找到了解决此问题的方法。答案在于DEP(数据执行预防)。此功能已在我的Windows 7计算机中启用。禁用此功能后,我可以在Firefox中运行插件。下面是如何在Windows7中禁用DEP

  • 转到命令提示符
  • 执行命令bcdedit/set nx AlwaysOff
  • 重新启动机器(需要重新启动才能反映上述设置)
  • 理想情况下,启用DEP后,如果要运行插件,必须使用最新版本的Windows SDK构建插件

    原始链接-