Re: What is .exe file and what kind of info does it store?
A little DOS history may help you understand the first question. Originally DOS had only two types of executable files, *.exe and *.com were the extensions used. The differences go beyond that. A *.com file was always smaller than 64KB total and had no header information other than blank space preceding the first instruction which was always located an offset of 100h bytes into the file.
An *.exe file was more complex and did not have the 64KB restriction. The header was composed of data blocks that held the information DOS needed to load the program into RAM correctly to be executed. It included such things as total size of instructions, starting offset of first instruction in file and the same information for any internal data members of the program.
The same sort of differences still hold true under Windows.For current information, check out the Knowledge Base articles at msdn.com.
One more type of executable file now exists, the *.dll for Windows. It allows you to separately program sub routines that can be independantly loaded and called for use by different programs at runtime from one file by any program that has the data needed to load it and make the calls. It is intended to make the OS more efficient in hard disk space and speed. I hope this will help you find what you want to know.
/*What does not kill us, makes us drink far too much caffeine*/