Это, похоже, проблема с Vista, что мне случилось из-за того, что мой C # webBrowser1 открывает веб-страницу с запущенным Java-апплетом, который открывает внешнюю веб-страницу IE, на которой выполняется приложение / скрипт ActiveX.
Когда скрипт ActiveX пытается обновить обратно в память приложения C #, DEP «Предотвращение выполнения данных» в Vista помечает эту операцию как враждебную / вирусную и завершает программу с System.AccessViolationException: попытка чтения или записи защищенная память. Это часто указывает на то, что другая память повреждена. "
Мое исправление для этого состояло в том, чтобы включить DEP в Vista с этой строкой в cmd
"bcdedit.exe /set {current} nx AlwaysOff"
и перезагрузите машину.
XP также запускает DEP, так что в некоторых случаях я думаю, что эта простуда случается и здесь.
Чтобы проверить, является ли проблема DEP, сделайте это.
Щелкните правой кнопкой мыши на «Мой компьютер»
Выберите «Свойства» и «Дополнительно»
Под «Запуск и восстановление, нажмите Настройки
Теперь нажмите «Изменить»
Блокнот только начался. Просто замените строку:
Код:
опция noexecute от AlwaysOff
Перезагрузите компьютер, чтобы завершить транзакцию.
Если вы хотите повторно активировать DEP, достаточно провести обратное, например:
Заменить на
Цитата:
AlwaysOff noexecute = noexecute = optin