            --------------------------------------------------
                             JkDefrag sources
            --------------------------------------------------


Compiling the sources
---------------------

The sources are written for the "Microsoft Visual Studio 2008" compiler. You
may also be able to compile with other versions, such as the free Express
Edition compiler. In that case you may need the "Microsoft Platform SDK for
Windows Server".

A small "Make.bat" is included. Just run it and everything will compile.
You may need to change the paths in the "Make.bat" if you have installed
the Microsoft packages in a different location. There is also a "Make64.bat"
to compile the x64 versions.

If you like the Visual environment then see the VisualC folder, there's a
project there to get you started. The project will generate a
"JkDefragScreenSaver1.exe" that has to be renamed into "JkDefragScreenSaver.scr",
and "JkDefragScreenSaver2.exe" that has to be renamed into "JkDefragScreenSaver.exe",

To make a custom version of JkDefrag take a look at "JkDefrag.cpp". That is
the source that is compiled into the "JkDefrag.exe" program. You can easily
customize it to change the look and feel of the program. The beef of the
defragger (the library) is in "JkDefragLib.h" and "JkDefragLib.cpp", but it's
probably wise not to make any changes there.


Delphi, VBasic, and other languages
-----------------------------------

The sources include a pre-compiled "JkDefragLib.DLL", ready to be used from
any programming language. No need to re-compile. At the moment I only have
example code for FreePascal (Delphi compatible) that demonstrates how to use
the DLL, see the FreePascal folder. Using the DLL is basically the same as
for any other DLL. The "JkDefragLib.h" file shows the definitions of the
functions that are available in the DLL.


Documentation
-------------

The sources are heavily commented, and that is all the documentation there
is. The "JkDefragLib.h" and "JkDefragLib.cpp" files contain the beef of the
defragger.


License
-------
The JkDefrag, JkDefragCmd, and JkDefragScreenSaver are released under the
terms of the GNU General Public License. The JkDefragLib.DLL library is
released under the terms of the GNU Lesser General Public License.



