CWindowImpl :: Create (), Сбой в Windows 7 - PullRequest
0 голосов
/ 24 августа 2011

У меня есть DLL-файл плагина Firefox, который отлично работает в Windows XP, но вылетает в Windows 7. Проблема связана с CWindowImpl :: Create (), который не может создать окно (дескриптор окна равен 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

1 Ответ

1 голос
/ 09 марта 2012

Я нашел решение этой проблемы в плагине FF в Windows 7. Ответ лежит в DEP (Data Execution Prevention).Эта функция была включена на моем компьютере с Windows 7.После того, как я отключил эту функцию, я смог запустить свой плагин в Firefox.Вот как вы можете отключить DEP в Windows 7.

  1. Перейти к командной строке
  2. Выполнить команду bcdedit / set nx AlwaysOff
  3. Перезагрузить компьютер (перезагрузкатребуется, чтобы вышеуказанные настройки отражали)

В идеале, с включенным DEP, если вы хотите запустить плагин, вам необходимо создать плагин с последней версией Windows SDK.

Исходная ссылка - http://techbaraha.blogspot.com/2011/12/firefox-plugin-on-windows-7-workaround.html

...