CHMDir 0.41-alpha
Description
CHMDir adds support of ITSS/CHM file format (compiled HTML) to Total Commander, allows you to extract, search, pack, delete files in CHM.Also it add unpacking of HtmlHelp 2 files (.Hx?).
Also it can used as content plugin, showing info about title of help window, maker of CHM and time of compilation.
Presence of Internet Explorer in system is not necessary.
NB: Plugin can not make full-fledged HtmlHelp files (contents, index, etc.) but it can make CHM-file even if there is one '.htm' or '.html' file in files to be packed. For example, repack this archive to CHM-file. To make full-fledged HtmlHelp use HTML Help Workshop or htm2chm.
If there is not file '#SYSTEM' in root of packed files list it will be created and if there is not some '.hhc' file in packed list, 'stub.hhc' will be created with all files and directories from packing list using of topic. Its order depends on sort type of TC. Default topic will be (what comes first, case insensitive): see 'default_topics' in CHMDir.ini. If there is not such file, first found '.htm' or '.html' in packed list will be used.
For keeping structure of file before repacking it must be unpacked with turned on option 'Show special CHM files' in CHMDir.ini to keep files such as '#SYSTEM' (there is information about title of help window and contents file in this file).
What’s new
* Plugin linked with runtime library statically and don't depend on msvcrt.dll.
* Added x64 version.DO NOT USE IT FOR PACKING, DELETING, ETC.
0.40g (2007/12/10)
* Fixed error caused crash CHMView.exe when converting .hhc file (table of contents). Thanks Atlan Gnozal for assistance.
0.40f (2007/11/29)
* Fixed error caused crash when opening CHM under Win98SE. Thanks Atlan Gnozal for assistance.
0.40e (2007/10/16)
* INI file can be stored in plugin dir.
0.40d (2007/10/15)
* Fixed bug causing TC crash when getting tag data.
* Settings now saved in default ini-file as recommended in "Writing WCX packer plugins", not in the plugin dir. Translation of WCX plugin moved to chmdir.lng.
0.40c (2006/10/07)
* Some corrections made in German translation.
0.40b (2006/01/05)
* Call of function GetLongPathName() changed to call by pointer (run-time dynamic linking). Old method caused wtedit.exe loading error under Win95 and WinNT4.
0.40a (2006/01/02)
* Call of function GetCPInfoEx() changed to call by pointer (run-time dynamic linking). Old method caused plugin loading error under Win95 and WinNT4.
0.40 (2005/12/30)
* Added option to set language ID for created CHM file.
* Added storing of date and time of the archive file's last update.
* Backslash to contents etc. files in links in system files changed to forward slash (backslash caused incorrect browsing).
0.40 beta 7 (2005/11/22)
* Added HtmlHelp window properties.
* CHMView: added progress dialogs.
* Added wtdump.exe and wtedit.exe.
* Added UnCHMw.exe.
* Added charset conversion for tag.
* Added charset / language field into content plugin.
0.40 beta 6 (2005/06/23)
* Added button to add default topic file name.
* Changed 'LZX window size code' to 'LZX window size' in configuration dialog.
* Added packing with IStorage COM interface.
* Added functionality of content plugin (WDX).
0.40 beta 5:
* Added unpacking of HxS files.
* Expanded stub.hhc.
* Added INI-file parameter title_stub.
0.40 beta 4:
* Fixed an unfortunate misprint in file header (structure size) that steeled through inadvertence.
* Added option to set low priority when packing.
0.40 beta 3:
* Fixed: CHMView was not unpacking CHMs with empty dirs containing subdirs only.
* Clicking on button 'Store files by ext.' enables or disables next edit control.
* Now '=.gif' unpacked as '=.gif', not as '_.gif'.
* Changed sorting of directory listing of CHM.
0.40 beta 2:
* Code for made listing rewritten.
* Added packer parameters in INI-file.
* Added file sorting by extension before packing and calculation of listing chunk size.
* Added generation of HtmlHelp files.
* Added INI-file parameters: calc_chunk_size, its_use_store, default_topics, sort_dir_by_ext.
* Added dialog to configure plugin.
* Added index.htm in distribution.
0.40 beta 1:
* Code for listing and unpacking fully rewritten - improved memory usage and performance.
* Added caching of CHM data.
* Added functions PackFiles(), DeleteFiles() and ConfigurePacker(). GetPackerCaps() now returns 479. If you update plugin you need to reconfigure of plugin (see above).
0.30a:
* Added function PackSetDefaultParams() (stub and in source only - plugin makes initialization when DllMain() is called - wrong way but user does not know what INI file is used, and plugin can not inform him about it - all settings made manually by editing INI file)
0.30:
* Added function CanYouHandleThisFile() for opening files other then .chm. GetPackerCaps() now returns 452.
* 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
* Char '_' 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:
* Return to one .WCX file - no additional DLL.
* Fixed error with memory deallocation in chmdir.
* Kludged (I hope) [error] in Matthew T. Russotto's chmlib that makes access violation in Total Commander. See comment '!!! Hobo'.
* Added READMEru.txt - on Russian.
* 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.