Here is the latest version of my MsdnHelp addin for RadASM, which has now been extended to work with multiple helpfiles. Now you can get all the help info with just one key - F1. For example, if you have the cursor on a "mov" instruction it will open opcodes.hlp on the "mov" topic, and if you have the cursor on "MessageBox" it will open Win32.hlp or MSDN on the specified topic.
Just place all the files in this zip into the AddIns folder and enable the MsdnHelp plugin in radasm.ini by uncommenting the line msdnhelp.dll=1
The database contains paths for the default C:\Masm32\Help folder (opcodes, m32lib, floating point, directives), except that it uses MSDN in a folder E:\Program Files\ etc... if you want to change the help files, run SetPaths.exe
I await your bug reports ;)
Look here 5'th post for the updated version.
Just place all the files in this zip into the AddIns folder and enable the MsdnHelp plugin in radasm.ini by uncommenting the line msdnhelp.dll=1
The database contains paths for the default C:\Masm32\Help folder (opcodes, m32lib, floating point, directives), except that it uses MSDN in a folder E:\Program Files\ etc... if you want to change the help files, run SetPaths.exe
I await your bug reports ;)
Look here 5'th post for the updated version.
Hi Qweerdy
SetPaths.exe GPF's on me. Working well on some helpfiles tho.
Great work. :alright:
Before this I could never hit the right F1 on first try. Now there is only one key!!!!!!!!!!
KetilO
SetPaths.exe GPF's on me. Working well on some helpfiles tho.
Great work. :alright:
Before this I could never hit the right F1 on first try. Now there is only one key!!!!!!!!!!
KetilO
Hey qweerdy some of us don't have the MSDN collection but alot of us probably have the SDK... I did an addin which supports the SDK I wouldn't mind if you integrated that into your addin perhaps an option to use either msdn or the platform SDK...
MArtial_Code:
As far as I know it already supports the platform SDK. The Platform SDK is just a big collection of CHM files, right? I also believe it comes with a COL (collection) file just like MSDN. Just type in the right filename and it should work just fine.
The beauty of this addin is that you can select ANY help file for a given set of keywords!
I just compared your platsdk code with my original MsdnHelp code which comes with RadASM too, and they do pretty much the same thing :)
KetilO: Could you give me a clue as to where it GPF's? Right at startup? Also it should be in the AddIns folder with help.mdb, but it should give you a nicer error message than a GPF :confused:
I noticed I forgot to InitCommonControls. Could that be it?
As far as I know it already supports the platform SDK. The Platform SDK is just a big collection of CHM files, right? I also believe it comes with a COL (collection) file just like MSDN. Just type in the right filename and it should work just fine.
The beauty of this addin is that you can select ANY help file for a given set of keywords!
I just compared your platsdk code with my original MsdnHelp code which comes with RadASM too, and they do pretty much the same thing :)
KetilO: Could you give me a clue as to where it GPF's? Right at startup? Also it should be in the AddIns folder with help.mdb, but it should give you a nicer error message than a GPF :confused:
I noticed I forgot to InitCommonControls. Could that be it?
I have prepared two new database files that are a bit easier to edit.
This one contains the same keywords as the original database but have all the MSDN / PlatSDK categories merged into one so it's easier to change the filename.
Don't forget to rename the database to help.mdb!
This one contains the same keywords as the original database but have all the MSDN / PlatSDK categories merged into one so it's easier to change the filename.
Don't forget to rename the database to help.mdb!
This database file contains only the Windows API keywords that are actually in win32.hlp. Use this version when you don't have the Platform SDK or MSDN, and want to use win32.hlp instead.
Don't forget to rename the database to help.mdb!
Don't forget to rename the database to help.mdb!
Hi Qweerdy
It GPF's on my Win98 when I change selection in listbox. Both by click and keyboard. Strange I have a JIT debugger (OllyDbg) but it did't catch anything.:(
I will try your new mdb's.
KetilO
It GPF's on my Win98 when I change selection in listbox. Both by click and keyboard. Strange I have a JIT debugger (OllyDbg) but it did't catch anything.:(
I will try your new mdb's.
KetilO
KetilO:
I have updated the first zip with a new SetPaths.exe. Perhaps I was pushing my luck too far with some API register preservation.
Also, I have added the InitCommonControls I had forgotten.
I have updated the first zip with a new SetPaths.exe. Perhaps I was pushing my luck too far with some API register preservation.
Also, I have added the InitCommonControls I had forgotten.
Hi Qweerdy
Yeesss, the Win32.hlp database was the one I was looking for. :alright: MSDN/SDK is too slow for me.
Thanks, I will try it on Win98 when I get home. A little suggestion. If the word is not found, return FALSE and let RadASM launch the default help file.
I often use the find function of winhelp.
KetilO
Yeesss, the Win32.hlp database was the one I was looking for. :alright: MSDN/SDK is too slow for me.
Thanks, I will try it on Win98 when I get home. A little suggestion. If the word is not found, return FALSE and let RadASM launch the default help file.
I often use the find function of winhelp.
KetilO
KetilO:
Have you tested it yet?
As for returning FALSE when the word is not found: that's how I originally had it but since I don't have Win32.hlp I found the "File not found" messagebox annoying when nothing was found. I'll make it an optional setting.
Have you tested it yet?
As for returning FALSE when the word is not found: that's how I originally had it but since I don't have Win32.hlp I found the "File not found" messagebox annoying when nothing was found. I'll make it an optional setting.
Hi Qweerdy
Thats great. I often press F1 on words like EM_GETRECT wich is not found as a keyword. Then I press Ctrl+C to copy EM_SETRECT and then do a Find on the word. Sorry, I did not have time to test it on win98. It works very good on xp. I will test it on 98 this evening.
KetilO
Thats great. I often press F1 on words like EM_GETRECT wich is not found as a keyword. Then I press Ctrl+C to copy EM_SETRECT and then do a Find on the word. Sorry, I did not have time to test it on win98. It works very good on xp. I will test it on 98 this evening.
KetilO
Here's the updated version I promised. Startup flags are now:
1 = Enable plugin
2 = Pass unfound keywords to RadASM
4 = Display error messages in output window (else no errors are displayed). I hate messageboxes for help functions :)
Also, you can now specify .exe files as help files and the keyword will be passed on the command line. Untested though...
Too bad I couldn't edit the original message anymore :(
Sorry for the bad version, download again please :o
Look here 5'th post for the updated version.
1 = Enable plugin
2 = Pass unfound keywords to RadASM
4 = Display error messages in output window (else no errors are displayed). I hate messageboxes for help functions :)
Also, you can now specify .exe files as help files and the keyword will be passed on the command line. Untested though...
Too bad I couldn't edit the original message anymore :(
Sorry for the bad version, download again please :o
Look here 5'th post for the updated version.
Hi Qweerdy
The dll is dated 02-08-2002. Is this an early version. I could not get it to work.
KetilO
The dll is dated 02-08-2002. Is this an early version. I could not get it to work.
KetilO
Oops! Yes that was an absolutely ANCIENT version. Dunno how that got there :confused:
Anyway, try again :)
Ah wait I found it: when I updated RadASM it kept the old RadAsm\Projects folder with the OLD MsdnHelp, the new MsdnHelp project is in RadASM\Masm\Projects
:stupid:
Anyway, try again :)
Ah wait I found it: when I updated RadASM it kept the old RadAsm\Projects folder with the OLD MsdnHelp, the new MsdnHelp project is in RadASM\Masm\Projects
:stupid:
Hi Qweerdy
Working great on xp. Will test on 98 in a few hours.
Thanks for this excelent addin. :alright:
KetilO
Working great on xp. Will test on 98 in a few hours.
Thanks for this excelent addin. :alright:
KetilO
Hi Qweerdy
No problems on win98. I love your addin.
What about rc.hlp? Not very important tho. Will you supply us the tools to update the database?
KetilO
No problems on win98. I love your addin.
What about rc.hlp? Not very important tho. Will you supply us the tools to update the database?
KetilO
There aren't any real tools, unless you mean MS Access XP, which would be breaking forum rules ;)
The original database was created by copying and pasting help file indexes from the standard Masm32 help files into text files, which were then imported into access as tables. The MSDN keyword listing was created by a simple Vb program that used all the PROTO's in the Masm32\Include folder to create a CSV (Comma separated values) text file.
The new Win32.hlp database was created by decompiling the help file and using another VB program to extract the topics from the rtf file. These topics were then used to filter the records already in the database.
I will release the source code to the addin and the SetPaths utility as soon as I'm convinced that they are reasonably finished, as well as the source to the VB programs if anyone really needs them.
The original database was created by copying and pasting help file indexes from the standard Masm32 help files into text files, which were then imported into access as tables. The MSDN keyword listing was created by a simple Vb program that used all the PROTO's in the Masm32\Include folder to create a CSV (Comma separated values) text file.
The new Win32.hlp database was created by decompiling the help file and using another VB program to extract the topics from the rtf file. These topics were then used to filter the records already in the database.
I will release the source code to the addin and the SetPaths utility as soon as I'm convinced that they are reasonably finished, as well as the source to the VB programs if anyone really needs them.
:(
Hi Qweerdy... most of what you done here works just great! :alright: However the newer versions of MSDN dont have any .col extensions... for the most part they are .hx("x") extensions... ie .hxs, .hxq etc.... so I'm unable to get that part working correctly, and havent had time to research yet... any ideas?
thanks!
regards
Dave
:stupid:
Hi Qweerdy... most of what you done here works just great! :alright: However the newer versions of MSDN dont have any .col extensions... for the most part they are .hx("x") extensions... ie .hxs, .hxq etc.... so I'm unable to get that part working correctly, and havent had time to research yet... any ideas?
thanks!
regards
Dave
:stupid:
My best guess is: figure out which file the MSDN icon points to (not hh.exe, but the file to open with hh.exe) and try setting that as the help file. That's how I originally figured out that the .col file was the main file.
I really hate the edit time limit :( everytime I have a small update I have to post the whole zip over again. Surely some moderator can remove the old ones?
This new zip contains the latest dll and the original database, as well as a new toy to play with: MsdnOnline.exe!
Set this file as the help file for API functions and it'll show you the correct page from http://www.msdn.microsoft.com. It may take a little long to open the page, because in the background it is first loading the search results page to get the URL for the best result. MSDN search has no "Feeling lucky" button :(
Btw, this program uses my "InStringEx" proc, posted in the Algorithms forum ;)
This new zip contains the latest dll and the original database, as well as a new toy to play with: MsdnOnline.exe!
Set this file as the help file for API functions and it'll show you the correct page from http://www.msdn.microsoft.com. It may take a little long to open the page, because in the background it is first loading the search results page to get the URL for the best result. MSDN search has no "Feeling lucky" button :(
Btw, this program uses my "InStringEx" proc, posted in the Algorithms forum ;)