Window Position of a CHM file - chm

I just compiled and viewed a CHM file used in my project. I noticed that the viewer remembers the window size and position across sessions.
Where does the HTML help viewer save the window position for each CHM file?

These settings are stored in a file called HH.DAT. On Windows XP, this file can be found in:
C:\Documents and Settings\%username%\Application Data\Microsoft\HTML Help\hh.dat
Other OS versions put it in different places. There is one such file per user profile. On Windows 10 this file can be found in:
C:\Users\%username%\AppData\Roaming\Microsoft\HTML Help\hh.dat
Looking at the contents of the file, there seems to be a header, a list of help file names, some blank space to accommodate more file names, then some binary values that would most likely be the window size and position. If you're comfortable working with binary file formats, then with some experimentation it should be possible to work out the structure and extract the values for a given CHM file.
Here are some websites that talk about this file:
Adobe Support Community - formerly RoboHelp
talks about hh.dat
HTML Help Tech Info
lots of history about help file formats, also many utilities to work with CHM files
Help-Info.de - Frequently Asked Questions
info about many help file formats, and examples of how to make use of them from code

Related

Microsoft Custom Translator: File upload not working for SC tmx files

I am testing the new Microsoft Custom Translator and trying to train a system EN-SC, but the file upload fails.
I am trying to upload unzipped TMX files, all less than 50 MB in size, as specified in the user's guide. The file names I have tried are:
Master1_en-us_zh-cn.tmx, Master2_en_zh.tmx, Master3_zh-cn.tmx,
in case the filename format had something to do with this.
I have successfully uploaded files and trained an EN-Spanish system using the same procedure, so I am not sure what I may be doing wrong.
I would be grateful for any suggestions on where to look for errors.
We indeed identified an issue related to Chinese tmx files that we are working to resolve now. The problem is that many of the abbreviations used in the tmx files to identify Chinese simplified are not resolving properly. The work around for now is exactly what you did: to change the abbreviation used in your tmx file to identify Chinese TUs to zh-hans rather than zh, zh-chs or zh-cn.
Solved - I have managed to submit files for training by editing the TMX to globally search&replace the target language code from zh-CN to zh-Hans. – maria c laguardia 5 hours ago

How to create chm file using the directory containing html files

I have a directory containing multiple html files. Need to create chm file using all the html files of the directory.
I am trying to create chm file using chmprocessor.
(downloaded from- http://sourceforge.net/projects/chmprocessor/files/)
I have referred http://chmprocessor.sourceforge.net/ and tried following:
I selected html file using "Add file" under Source Files tab. And selected the directory using "Add directory" under additional files tab. But it didn't worked.
Could any one please suggest the steps to create chm file using the directory containing html files?
I have also tried using HTML Help Workshop, but this tool does not provide the capability to directly create chm file by selecting the directory containing html files.
This is really annoying - after installing chmProcessor I have given the tool a longer try and the chmProcessor for (good structered) Word files (*.doc) is really working good.
But testing for HTML with the one selected HTML at 'Source files' makes me crazy as a former Microsoft Help MVP. Only linked files are included in the CHM I added with "Add Directory".
I put a 'Change Request' for more documentation about 'Source files' to SourceForge where you may download my test sample and some snaps of things I tried:
http://sourceforge.net/p/chmprocessor/bugs/29/
HTMLHelp Workshop has a learn curve and creating Table of Contents (TOC) needs a fairly long time.
So, one more thought: You may have your HTML files in a web structure with sub-directories. A tool I have experience with is FAR HTML. Using the Help Wizard makes a CHM in some minutes. These is shown in a Video I uploaded for you. Give it a try - it's free with full working functions for some weeks.
http://www.help-info.de/files_share/VideoCreateChmHelpFilesWithFAR-HTML.mp4

HTML/CSS Editor with Multi-Computer Code Folding

I'm looking for a code editor that saves folded/collapsed code. I want to be able to open the file on a 2nd computer and have the same folded/collapsed code structure. I understand that HTML/CSS cannot have this preference built in. If the editor needs to save the file in some propriety file type, I'm fine with that. I just need to be able to export it as plain HTML/CSS files once it's ready for publishing.
(Windows 7)
UltraEdit supports code folding for text files of any type and it supports also saving/restoring of folds on close/open.
In menu Advanced there is the menu item Configuration. In the settings tree navigate to Editor Display - Code Folding and enable at least the settings Save folded lines and Enable show/hide lines and code folding.
By default UltraEdit remembers which file are open with which lines hidden/folded on exit in file uedit32.ini stored on Windows computers by default in directory %APPDATA%\IDMComp\UltraEdit\. But this file contains also all other user configurations like the 2 settings I wrote above.
Therefore it is better to use a project or at least a workspace for editing the HTML/CSS files for your website(s). A project/workspace can be created in menu Project with New Project/Workspace. Using a project/workspace results in remembering which files are open on closing the project in a separate project related workspace file instead of uedit32.ini. The workspace file remembers not only the open files on closing the project, it remebers also which lines are folded, where the caret is positioned in each file, which file was the active file on close, and some other information to restore the workspace on next opening of the project/workspace.
But before creating the project/workspace, you need to enable the setting Save project information for use on multiple systems at Advanced - Configuration - File Handling - Advanced. As you can read on help page opened by clicking on button Help of this configuration dialog, this setting results in storing the workspace file of a project in same directory as the project file.
The location of the project file is defined by you on creating the project/workspace and is quite often in root directory or a subdirectory of a local copy of a website. With *.prj (the project file) and *.pui (the project user interface file = workspace file) somewhere in directory tree of the website, you have those 2 files also shared between multiple systems together with the HTML and CSS files.
See the user forum topics Create project from an existing directory tree? and Why save files to a Project? in the user-to-user forums of UltraEdit and take also a look on Tutorials/Power Tips page of IDM Computer Solutions, Inc.
SynWrite (Windows) supports it. Make some folding, then save a session file (*.syn). This file contains folded states and more. Anytime later, just open session file (menu File - Sessions) and folding (and more) restored.
You have a CSSMENU editor where you can create menu bars. This editor saves a file in such a way that it can be moved to any other pc as you mentioned . Html file will be saved and the related Css files are stored in another folder where you can move those files as your wish. No need of changing any code.

CHM file unreadble if saved to hdd

I've just downloaded JSon.Net for framework 4.0 as a zip file.
Opening zip (using WinRar) I'm able to open Documentation.chm file by double-clicking over the name listed and the help file is well done.
Anyway if I extract this file to hdd and I open it, help is unreadable.
Sounds silly, but it's happening.
Thanks for your help!!!
EDITED:
Another tip: unreadble chm file is located in D:\.... (second NTFS partition of first hdd); if I save it on my desktop, chm file becomes readable !!! Crazy...
------------------------------------
---------- SOLUTION ----------
------------------------------------
I answer my question to close it and to help someone who finds in my same trouble.
Using tip suggested by #Marco van de Voort I searched Google for "chm unblock" and found this link:
Your CHM files are stored in the folder with '#' (hash) character in
the path Many C# developers discovered that their documentation
and e-books in CHM format cannot be read because they were storing
their CHM files in the directories like 'C:\E-books\C#\'. The hash
character signifies an anchor in HTML so the CHM viewer fails to
resolve the path properly and to retrieve the content.
That was my problem: I had path with a #... and I'd never thought this could be a great mess for CHM files!!!
Thanks to SO mates for the help given !!
Windows keeps track of downloaded files on NTFS systems, and puts certain restrictions on them. If you extract with windows explorer, this status propagates from archive to file. Using a third party tool (winrar in your case, I use INFO zip) can circumvent this.
Some descriptions and other links can be found
http://wiki.lazarus.freepascal.org/chm_backend_for_fpdoc#Troubleshooting
Free Pascal (2.4.4) has some tool to unlock them. (chmls unblock). It is done by truncating an alternate filestream (therefore it only works with NTFS). I found this info somewhere on stackoverflow, but can't quickly find the link.
It might be that virtual folders like desktop don't fully support this.
maybe the references to some content is to web or no chm file. maybe if you can disassamble in CHM editor and change paths can fix it.
maybe this can help you
There are security permissions applied to this file type by a recent patch.
you need to unblock the file:
http://www.helpscribble.com/chmnetwork.html
instead of thinking many possibilities of "windows security permission", get a CHM reader or wrap your CHM using winrar, and doubleclick to view it like you did.
It's save your time a lot!!
So, two simple solutions are:
have a CHM reader: https://blog.kowalczyk.info/articles/chm-reader-viewer-for-windows.html
OR right click CHM file/s, > Add to RAR Archive.
If you want to read it, double click RAR file > double click CHM file. BINGO!!

How to extract hhp file from a chm file

I have an A.chm file for my windows application which runs as expected.
When I decompile it using HTML workshop I get set of html files, .hhc file, .hhk file. When I compile another file B.chm from these extracted files without changing any of the files.((I want to add more html contents to this file but looks like I am losing some information after decompiling)) The output file I get is 72K where as the original file was 75K. B.chm's contents look all file when viewed in the chm viewer but the behavior is lost when when used with the application.
After reading around I found that if .hhp can be extracted from a .chm file then it can be re-constructed as it is without losing any mapping or aliases. Is that true?
How can I extract .hhp file from a .chm file?
Thanks,
Sam
No, Yes , and no.
The original hhp can't be guaranteed extracted
however since chm is an archive type, the project could have added all project files to the archive. I assume you already would have found them if that were the case.
If the decompile process does its administration, it can regenerate the .hhp to a certain degree.
Comments and #define names will probably be lost though, maybe more, but that should not result in problems when recompiling.
But of course it could be that the decompiler is limited. You could try some other (search for something from "keytools").
If not, then take "chmlib" and start drilling down into the format.