11

Сегодня я запустил свой компьютер, и некоторые ошибки появились, как эта, поэтому некоторые программы в автозапуске не запускались:

Приложение не удалось запустить правильно (0xc0000018).Нажмите кнопку ОК, чтобы закрыть приложение

У меня есть эта ошибка при открытии многих программ, я даже не могу использовать 7zip. Единственное, что я сделал вчера, - это установил игру через Steam, и теперь я не могу использовать около 70% программного обеспечения на моем компьютере (большинство из них получают эту ошибку во всей программе, а некоторые только на некоторых ее модулях).

Я просто запустил SFC /scannnow и в результате получилось: "Защита ресурсов Windows не обнаружила никаких нарушений целостности".

Может ли это быть какой-то вирус или Steam, который что-то испортил? Что я должен делать?

4 ответа4

7

Спасибо за все предложения, после некоторого поиска в Google я нашел это решение, которое на самом деле выглядит так, как будто оно работает для меня:

  1. Нажмите Win+R и введите regedit
  2. Перейдите в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\­Microsoft\WindowsNT\CurrentVersion\Windo­­ws
  3. Чем искать APPINIT_DLLS и удалить все в нем
  4. перезагружать
6

Боюсь, что мало кто знает причину загадочной ошибки запуска 0xC0000018 EXE, потому что Microsoft делает ее расплывчатой, даже до Windows 10. Когда я читал Джеффри Рихтера « Приложения для программирования для MS Windows 4-е», я случайно узнал об этом.

Если DLL требуется загрузить по фиксированному адресу (в виртуальном адресном пространстве процесса), но это требование не может быть выполнено, Windows выдает ошибку 0xC0000018. Но нет никакой очевидной подсказки, чтобы сказать, какие библиотеки (DLL) вызывают проблему. Простой поиск Google "0xC0000018" просто выводит вас с большим количеством сообщений сбитых с толку пользователей.

Чтобы воспроизвести, вы можете подготовить решение (термин Visual Studio) с одним EXE и двумя DLL, и установить для обеих библиотек DLL параметр компоновщика /FIXED /BASE:"0x44440000" , чтобы EXE неявно загружал две библиотеки DLL, после чего вы увидите Ошибка 0xC0000018 при запуске EXE.

И да, APPINIT_DLLS в реестре - ваша первая ставка, чтобы избавиться от возможных преступников. Эти DLL будут загружены в каждый процесс, который вы запускаете, что может испортить вам жизнь.

Тогда как точно определить виновника DLL? Возможно, есть способ, используйте dumpbin.exe для проверки каждой DLL в APPINIT_DLLS или других возможных автоматически загружаемых DLL (справка по автозапуску), проверяйте их одну за другой с помощью dumpbin -headers . Если раздела .reloc нет, это DLL - библиотека с фиксированным расположением .

1

Я установил около 40 игр через Steam, и у меня нет проблем, нет, я не думаю, что это плохо для Steam. Попробуйте восстановить свою систему с помощью точек восстановления Windows: http://windows.microsoft.com/en-ph/windows-vista/system-restore-frequently-asked-questions

[EDITED] Может быть, пропущены некоторые DLL, вы можете проверить зависимости программы, которую вы не можете запустить, используя Dependency Walker: http://www.dependencywalker.com/

0

Возможно, это связано со следующим обновлением MS и конечной точкой предотвращения потери данных McAfee (конечная точка DLP). Похоже, что существует конфликт между обновлением MS и конечной точкой предотвращения потери данных McAfee.

Посетите следующие веб-сайты, пожалуйста:Microsoft Patch MS15-038 в Windows 7, когда установлена конечная точка предотвращения потери данных Бюллетень по безопасности Microsoft MS15-038 - Важное

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .