CHMDir Plugin for Total Commander

Version 0.30. Use it at your own responsibility.

Tested with TC 6.03a under w2k rus.


What it does:

CHMDir adds support of CHM file format (compiled HTML) to Total Commander,
allows you to extract and search files in CHM.

Presence of Internet Explorer in system is not necessary.


--
How to install plugin (32 bit only):

    1. Unzip the chmdir.wcx to the Totalcmd directory (usually c:\wincmd or
    c:\totalcmd) or directory as you like

    2. In Total Commander, choose Configuration - Options

    3. Open the 'Packer' page

    4. Click 'Configure packer extension WCXs'

    5. Type 'chm' as the extension

    6. Click 'New type', and select the unpacked chmdir.wcx

    7. Click OK

    8. If it's necessary make file CHMDir.ini in dir same as plugin


--
File CHMDir.ini:

At startup plugin looks up the file CHMDir.ini in it's directory -- standard
windows ini-file. Example show default values.

    [Options]
    show_spec_files=0
    show_stor_files=0
    use_file_attrib=0

show_spec_files -- show (1) special CHM files like #STRINGS (started with #
or $) or no (0).

show_stor_files -- show (1) special IStorage format files or no (0).

use_file_attrib -- mark (1) or not (0) special CHM and IStorage file with
attributes. CHM files -- hidden, IStorage -- system.

In order to changes start to work you must restart TC or unload all plugins
and change to another archive (TC remember directory of last archive).


--
Known bugs and limitations:

1. Plugin uses CHMTools that only deals with version 3.

2. Plugin uses RAM to hold file names in CHM and when unpacking and testing
to hold work file. So if you have 1000 files in CHM with 100 bytes
average file name length and a biggest file in CHM with unpacked size 10 Mb
then you need ((1000 * 100) + (10 * 1024 * 1024)) = 10.1 Mb RAM available.

3. Plugin not tested and probably will not work with files >= 2 Gb.


--
CHMView.exe:

This program is intend for viewing CHM files without hh.exe. It need one
parameter -- CHM file name. It will unpack all files in CHM into temp dir and
will try to start default HTML viewer.


--
New versions see: http://www.totalcmd.net/plugring/chmdir.html


--
History:

0.30:
    Added function CanYouHandleThisFile() for opening files other then .chm.
    GetPackerCaps() now returns 452. If you update plugin:

        1. Close Total Commander
        2. Open WINCMD.INI with Notepad
        3. Find section [PackerPlugins]
        4. In line looks like chm=388,C:\wincmd\chmdir.wcx change 388 to 452.
        5. Start Total Commander

    Added CHMView.exe into distribution

0.29 beta:
    Added INI-file

    Memory requirements significantly decreased

    Removed make-files for Watcom and lcc-Win32

0.28 beta:
    Files with name started with '#' and '$' removed from listing

    har '_' used as default for unmappable characters in
    WideCharToMultiByte(). Not tested because I have not that files.

    Yet another kludge for unpacking files made by htm2chm

0.27 beta:
    Added processing of returned result of ProcessDataProc -- 'Cancel' button
    works.

    Fixed error that provoked crash while opening CHMs that contains lo-o-ong
    file names.

0.26 beta:
    Added decoding of file names from UTF-8.

0.24 beta:
    Added info about CHMView.
    Time of archive files == time of CHM file.
    Added version info.

0.23 beta:
    1. Return to one .WCX file -- no additional DLL.

    2. Fixed error with memory deallocation in chmdir.

    3. Kludged (I hope) [error] in Matthew T. Russotto's chmlib that makes
    access violation in Total Commander. See comment "!!! Hobo".

    4. Added READMEru.txt -- on Russian.

    5. Archive name changed to wcx_chmdirX.XX.zip.

0.22 beta: Next try to make stable release. Matthew T. Russotto's chmlib
moved to separate DLL and this DLL loaded and unloaded every processed file
for decrease memory usage.

Failed. Known bug #1 still present. :-(

0.21 beta: Added function GetPackerCaps().

0.20 beta: first public release.


--
How to make:

Edit makefile, make dir with name "obj" and run suitable 'make.exe' program.


--
This programs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY and NO SUPPORT.

CHMlib and CHMtools are Copyright 2001 Matthew T. Russotto.


--
Author: Oleg Bondar aka Hobo (hobo-mts@mail.ru).

