
Предварительный просмотр
Наше антивирусное программное обеспечение не позволило мне скопировать EXE-файл в папку автозагрузки Windows 7 (например, calc.exe), поскольку это EXE-файл.
Поэтому я переименовал его в COM-файл, а затем скопировал его, и это стало возможным (очень профессионально).
И конечно же - calc.com
работает.
Что побудило меня спросить (исключительно из любопытства):
Вопрос
Когда EXE-программа не запустится при переименовании в COM? Почти все exe-файлы, которые я проверил, работали.
Мне бы хотелось узнать внутренние причины, почему так и почему нет.
решение1
Это связано с внутренним форматом файла. Изначально файлы .com были простыми образами памяти, а файлы .exe имели множество заголовков, связанных с ними. В результате вы не могли переименовывать их. Со временем, и им пришлось сделать вещи обратно совместимыми, Microsoft изменила это так, что ОС смотрит на сам файл, чтобы определить, какой это тип файла, а не на расширение. В результате, когда вы запускаете переименованный файл, Windows полностью игнорирует расширение. Смотрите ссылки ниже для более подробного объяснения.