EXE は常に COM に置き換えることができますか?

EXE は常に COM に置き換えることができますか?

プレビュー

ウイルス対策ソフトウェアでは、EXEファイル(calc.exeなど)をWindows 7のスタートアップフォルダにコピーすることができませんでした。

そこで、名前を COM ファイルに変更してコピーすると、許可されました (非常にプロフェッショナルです)。

そしてもちろん、それはcalc.com機能します。

そこで私は(単なる好奇心から)次のように尋ねました。

質問

EXE プログラムが COM に名前変更されると実行されなくなるのはどのような場合ですか? 私が確認したほぼすべての exe ファイルは動作しました。

その理由とそうでない理由について、内部事情を知りたいです。

答え1

これはファイルの内部形式に関係しています。元々、.com ファイルは単純なメモリ イメージで、.exe ファイルには多くのヘッダーが関連付けられていました。そのため、名前を変更することはできませんでした。時が経ち、下位互換性を保つ必要が生じたため、Microsoft は OS が拡張子ではなくファイル自体を見てファイルの種類を判断するように変更しました。その結果、名前を変更したファイルを実行すると、Windows は拡張子を完全に無視します。より詳しい説明については、以下のリンクを参照してください。

同様の質問

Microsoft ブログの説明

関連情報