The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: RuiLoureiro on August 02, 2008, 04:07:20 PM

Title: Building an HELP
Post by: RuiLoureiro on August 02, 2008, 04:07:20 PM
Hi
           I want to add an window HELP in the menu iten (in my program),
           but i dont know how to build the Help and what procedure to call
           Can anyone help me ? Is there a simply example ?
           Thanks
Rui           
Title: Re: Building an HELP
Post by: ragdog on August 02, 2008, 04:47:44 PM
hi

try this for open help files!

.data
szPathtoHelp db "\masm32\help\masm32.hlp",0

invoke WinHelp, NULL,addr szPathtoHelp, HELP_CONTENTS, 0

for .chm files use ShellExecute


greets
Title: Re: Building an HELP
Post by: GregL on August 02, 2008, 06:53:30 PM
To create a .chm help file use HTML Help Workshop (http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en).

Title: Re: Building an HELP
Post by: RuiLoureiro on August 02, 2008, 09:13:57 PM
Thanks ragdog and Greg,

Ok but how do i write a file like masm32.hlp.
Whats the format of this type of file

Rui
Title: Re: Building an HELP
Post by: ragdog on August 02, 2008, 10:53:31 PM
Here is a list and helps for making
Free Help Authoring, Manual and Documentation Writing Tools.

http://www.thefreecountry.com/programming/helpauthoring.shtml

or make your Help text in RTF-Format and use RTF2HLP
http://www.ariacom.com/brRTF2HLP.asp

or use WinHelp Master 1.6

I think .chm help files is better then can you all building in html and compile this to .chm!!

greets, :U
ragdog
Title: Re: Building an HELP
Post by: GregL on August 02, 2008, 11:28:05 PM
RuiLoureiro,

WinHelp (.hlp) is the older format. Notice the masm32 v10 help files have been converted to .chm format.

Title: Re: Building an HELP
Post by: lingo on August 03, 2008, 12:48:47 AM
I use Help & Manual v.4.5
http://www.helpandmanual.com/

Title: Re: Building an HELP
Post by: hutch-- on August 03, 2008, 12:52:14 AM
Rui,

Greg is right here, later Windows versions no longer support the old Winhelp format so you need to construct the newer CHM type of help file. My suggestion is to download KOMPOSER as a free HTML page composer, create your help file first as HTML then build it into a CHM help file with the HTML workshop from Microsoft. Be warned that the HTML workshop is a bad mannered old pig to use but the compiler works fine.
Title: Re: Building an HELP
Post by: lingo on August 03, 2008, 03:58:46 PM
I upgraded to Help & Manual v.5.0.3.549
New version is awesome!
Just try it.
Title: Re: Building an HELP
Post by: RuiLoureiro on August 03, 2008, 04:11:10 PM
Hi all
         Thank you all
         Thank you Hutch for your suggestion.
         I have one problem Hutch: i hate HTML. So i dont go to make anything in HTML
         So i need to think how to do a simple help

Rui
         
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 08:34:03 AM
Quote from: RuiLoureiro on August 03, 2008, 04:11:10 PM
         I have one problem Hutch: i hate HTML. So i dont go to make anything in HTML
         So i need to think how to do a simple help

Use RTF2HLP (http://www.ariacom.com/brRTF2HLP.asp), see RagDog's post above. Easy, free and straightforward, and the MS bloat factor is acceptable. If you don't need bookmarks and fancy graphics, you can use WordPad instead of Word to create the RTF, and reduce file size by 30%.
Title: Re: Building an HELP
Post by: RuiLoureiro on August 04, 2008, 09:51:57 AM
Quote from: jj2007 on August 04, 2008, 08:34:03 AM
Use RTF2HLP, see RagDog's post above.
'
                Thanks jj2007. I will go to try it

              EDIT:  i used RFT2HLP with Test file and it works fine in my program.
                        Thank you very much jj2007 and ragdog, Greg, Hutch and lingo
Rui
Title: Re: Building an HELP
Post by: hutch-- on August 04, 2008, 11:48:08 AM
Rui,

The problem wih Winhelp is it has been removed from Vista and is no longer supported where CHM is in fact no big del to do if you use a HTML composer. I suggested KOMPOSER as its much like a word processor to use but can do proper HTML as results. For Winhelp I own the 1992 version of Microsoft Word that produces correct RTF and have a complete set of macros for automating winhelp files but the new ones are easy enough to build once you get the idea of how they work.
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 12:34:16 PM
When I open hlhelp.chm, and click on "Overview", then press Control F, nothing happens.
Right-clicking does not help, either. But as an experienced client of Microsoft, I never give up, and indeed, clicking into the right pane, then pressing Control F opens a find box. So I type

function

into "Find what", and get the message "Finished searching the document". No results in the whole document  ::)

Unless there are some well-hidden options for super-power-users, for me chm is a clear case of banana marketing: let the product mature at the customer's place.

By the way: Does it already work properly on Vista? I only have XP...
Title: Re: Building an HELP
Post by: hutch-- on August 04, 2008, 01:45:07 PM
JJ,

I find search on CHM files useless so I don't waste my time trying to create it. I build the index and contents so they are easy enough to read and don't bother with the rest. Help with search and other facilities could be done much better but I am not going to waste the time writing the help engine to do it.
Title: Re: Building an HELP
Post by: RuiLoureiro on August 04, 2008, 01:47:16 PM
Hutch,
         I am learning windows.
         I have not a lot of experince to do the best at the first trial
         So iam going to making things and learning.
         In this case, for now, .Hlp format is good for me.
         One day, may be, i will change to .chm format
         In all cases i found a good tool in HTML Help Workshop: HTML Help Image Editor

        By the way: how do i stick an image here ? I dont know how to show it here
Thanks
Rui
Title: Re: Building an HELP
Post by: Jimg on August 04, 2008, 02:28:51 PM
Quote from: hutch-- on August 04, 2008, 01:45:07 PM
JJ,

I find search on CHM files useless so I don't waste my time trying to create it. I build the index and contents so they are easy enough to read and don't bother with the rest. Help with search and other facilities could be done much better but I am not going to waste the time writing the help engine to do it.

Hutch-
I just found out my earlier complaints about html searching were incorrect.  The search takes wildcards, so while searching for multi returns nothing, searching for multi* gives me what I wanted.  Enabling search is a simple click on on option.  I'm sure most of us would really appreciate having the capability.

Rui-  Sorry, I don't mean to hijack your topic.
Title: Re: Building an HELP
Post by: PBrennick on August 04, 2008, 02:57:03 PM
Imagine trying to use WIN32.hlp without a Search option ...

Rui, look at Ewayne Wagner's webpage, he has an editor that builds HLP files easily and it includes the assembly sources.

-- Paul
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 03:14:51 PM
Quote from: hutch-- on August 04, 2008, 01:45:07 PM
JJ,

I find search on CHM files useless so I don't waste my time trying to create it.

Oops, I wanted to hit Bill G. and Hutch got it over the head! I am soooo sorry, Sir  :green2
Title: Re: Building an HELP
Post by: RuiLoureiro on August 04, 2008, 05:18:27 PM
jj2007,
             everything is going well.
            But how i close the help window when i close the program if the help window is opened.
Thanks
Rui
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 05:23:29 PM
Quote from: RuiLoureiro on August 04, 2008, 05:18:27 PM
jj2007,
             everything is going well.
            But how i close the help window when i close the program if the help window is opened.
Thanks
Rui

Get a handle to the help window with FindWindow etc., then send or post a WM_CLOSE message to this window on WM_CLOSE in your main app...
Title: Re: Building an HELP
Post by: RuiLoureiro on August 04, 2008, 06:22:29 PM
Quote from: jj2007 on August 04, 2008, 05:23:29 PM

Get a handle to the help window with FindWindow etc., then send or post a WM_CLOSE message to this window on WM_CLOSE in your main app...

jj2007,
        FindWindow returns NULL.
   

.data
_WinHelp         db 'Test.hlp',0        <--- Window Help NAME   
;-------------------------------
_ClassName       db "WinClass",0        <--- Main window class name

;.......................................................................
                invoke  FindWindow, offset _ClassName, offset _WinHelp
                cmp     eax, NULL
                je      @F

It doesnt Find the Help Window and it is opened. Whats going wrong ? Class Name ?
Rui
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 07:06:46 PM
Quote from: RuiLoureiro on August 04, 2008, 06:22:29 PM

It doesnt Find the Help Window and it is opened. Whats going wrong ? Class Name ?
Rui


   invoke FindWindowEx, 0, 0, chr$("MS_WINDOC"), chr$("Test.hlp")
Title: Re: Building an HELP
Post by: RuiLoureiro on August 04, 2008, 09:29:25 PM
Quote from: jj2007 on August 04, 2008, 07:06:46 PM
   invoke FindWindowEx, 0, 0, chr$("MS_WINDOC"), chr$("Test.hlp")
jj2007,
               Thank you         
               But doesnt work. Class name isnt MS_WINDOC
Rui
Title: Re: Building an HELP
Post by: PBrennick on August 04, 2008, 10:05:04 PM
Rui,

Try changing it to WinClass

    invoke FindWindowEx, 0, 0, chr$("WinClass"), chr$("Test.hlp")

Whether it will work or not I don't know as I do not have your sources, but one thing is certain, you need to address the classname that 'you' gave it.

-- Paul
Title: Re: Building an HELP
Post by: jj2007 on August 04, 2008, 11:21:20 PM
Quote from: RuiLoureiro on August 04, 2008, 09:29:25 PM
               But doesnt work. Class name isnt MS_WINDOC

Quote from: PBrennick on August 04, 2008, 10:05:04 PM
Whether it will work or not I don't know as I do not have your sources, but one thing is certain, you need to address the classname that 'you' gave it.

Rui launches a .hlp file with an external app (winhelp), and therefore has no influence on its classname. On my XP SP2 machine, WinID finds MS_WINDOC as the classname.
Title: Re: Building an HELP
Post by: RuiLoureiro on August 05, 2008, 10:31:14 AM
I found the solution:

            - To OPEN the Help Window

.data
_WinHelp         db 'Test.hlp',0         <--- Window Help NAME
;.....................................
.code
invoke  WinHelp, NULL, addr _WinHelp, HELP_CONTENTS, 0     


          - To CLOSE the Help Window

.code
invoke   WinHelp, NULL, addr _WinHelp,HELP_QUIT, 0        


Thank you Paul and jj2007 for your help

*** By the way: how do i stick an image here ? ***

Rui
Title: Re: Building an HELP
Post by: jj2007 on August 05, 2008, 10:40:40 AM
Quoteinvoke  WinHelp, NULL, addr _WinHelp, HELP_CONTENTS, 0

Thanks, Rou, I learnt something new :U

By the way: Did you try finding the classname with WinId (http://www.dennisbabkin.com/php/download.php?what=WinID)? For me, it's MS_WINDOC on all machines, but they are all XP, so it might differ on another OS.
Title: Re: Building an HELP
Post by: RuiLoureiro on August 05, 2008, 01:45:59 PM
jj2007,
             With WinID it is MS_WINHELP.
             WinID is a good tool.
             Thanks  :U
Rui
Title: Re: Building an HELP
Post by: thomas_remkus on August 05, 2008, 02:08:13 PM
MAML: http://en.wikipedia.org/wiki/Microsoft_Assistance_Markup_Language

... Just in case you are looking for something a little more cutting edge. Personally, I stick with CHM.
Title: Re: Building an HELP
Post by: Rainstorm on September 01, 2008, 08:34:29 AM
Quotelater Windows versions no longer support the old Winhelp format so
i had the unpleasant experience of none of my .hlp files opening. - I am using winxp pro SP2. all these same ,hlp files used to open before on my system. don't know if it was some microsoft update i installed that did this.. what a pain : /

Anyone know how i can rectify this... ?

when i reinstall winxp.. am gonna keep it that way & not install any kind of updates. the sp2 is pretty stable that way anyhow.
Title: Re: Building an HELP
Post by: Mark Jones on September 01, 2008, 08:20:18 PM
Try deleting the <filename.GID> files next to the .hlp files. Sometimes these index files can become corrupted, and it prevents help from loading. The next time the help file is used, they are rebuilt automatically.
Title: Re: Building an HELP
Post by: Rainstorm on September 12, 2008, 05:05:14 PM
i tried it.. didn't help   :tdown
the help contents dialogue comes up properly.. but when i actually try & & click a topic that will start a window.. i get a msg saying that the .HLP file is either corrupted or not a valid help file

thx.
-