Я думаю, что вы вызвали Глюк, возможно. As *.Com расширение из MS-DOS и только для 16-битных двоичных файлов, 32-битные окна создали PIF ярлык для тех файлов, которые бы вызвать уровень совместимости, чтобы настроить 16-битную среду, связанную. Тем не менее, эта часть не существует на 64-битных Windows, как 16-битные исполняемые файлы достаточно стары, и есть много альтернатив, чтобы запустить их; DOSBOX, например.
однако, кажется, что процедура для обнаружения этой ситуации все еще существует на x64 Окна и сработал ориентации *.Файл com, В то время как слои совместимости все ушли!
вы можете проверить сами, что попытка создать ярлык для COM - файла по-прежнему создает файл PIF:
- создать новую пустую папку.
- скопируйте любой COM-файл, который вы хотите проверить. Даже вы можете переименовать любой файл в *.COM.
- на папку, щелкните правой кнопкой мыши и выберите Создать-ярлык.
- введите полный путь файла тест COM и нажмите кнопку "finish"
- он скажет, что "невозможно создать ярлык", но ярлык на самом деле сделан.
- посмотреть свойства нового ярлыка-это PIF.
однако, поскольку x64 Windows больше не имеет 16-битного уровня совместимости, PIF не может работать и не может быть настроен правильно. Естественно, считается, что логика создания PIF-файлов для COM также должна быть удалена, но по какой-то причине это еще не сделано. Что я могу догадаться о причине есть.. так как это действительно редко использовать COM-файл на x64 Windows, он имел очень низкий приоритет, чтобы исправить.
Так, что это *.COM файлы в папку Windows потом? Они на самом деле 64-битные исполняемые файлы формата "EXE", но переименованы в *.COM для старых пакетных скриптов.
Это также верно, что ярлык для COM-файла может обмануть пользователей, чтобы запустить вредоносное ПО, так что MS намеренно заблокировал это, но это все еще можно прикрепить переименованный COM-файл (который первоначально EXE-файл) напрямую по электронной почте или что-то в любом случае, и это все еще можно создать ярлык для обычного файла EXE, а затем переименовать его в *.COM. Поэтому я не думаю, что проблема безопасности была основной причиной, чтобы заставить Windows делать это странное поведение. Если бы это было для проблемы безопасности и преднамеренного, он будет отображать правильное сообщение об ошибке / предупреждение.