Page 1 of 1

F1 help not jumping to particular URL with v1.1.27.00 help file

Posted: 28 Dec 2017, 03:01
by ozzii
Please put back the old help file (or put the 2 versions) !!!
With the new one, jumping to a particular URL inside AutoHotkey.chm has stopped working.
So my F1 help key doesn't work any more :crazy: :facepalm: :headwall:

Or could you explain to us how can we do to have the old help format or just how to jump in a particular HRL with this new format.

Edit:
Well, here is the explanation thanks to Alguimist: https://autohotkey.com/boards/viewtopic ... 15#p191015
But still, at a time the differences will be bigger and bigger between the 2 versions.

Please, put back the old format :O7:

Re: F1 help not jumping to particular URL with v1.1.27.00 help file

Posted: 28 Dec 2017, 03:50
by lexikos
I have split your post from the announcement topic, which is now locked. As I said before in that topic,
I normally lock these announcements so that bug reports end up in a more appropriate location, and are discussed outside of the Announcements forum.
My F1 help key works just fine with this help file, so perhaps someone will be able to help you to get yours working. I am using SciTE4AutoHotkey and did not have to change anything.

Re: F1 help not jumping to particular URL with v1.1.27.00 help file

Posted: 28 Dec 2017, 04:29
by teadrinker
Also, you could using the next code:

Code: Select all

#Persistent
SearchKeyWord("IfWinExist")

SearchKeyWord(KeyWord, AutoHotkeyChmPath := "C:\Program Files\AutoHotkey\AutoHotkey.chm")  {
   static HH_DISPLAY_TOPIC := 0, HH_KEYWORD_LOOKUP := 0xD, HtmlHelp
   if !FileExist(AutoHotkeyChmPath)  {
      MsgBox, Specify the proper AutoHotkeyChmPath!
      return
   }
   if !HtmlHelp  {
      hHH := DllCall("LoadLibrary", Str, "HHCTRL.OCX", Ptr)
      HtmlHelp := DllCall("GetProcAddress", Ptr, hHH, AStr, "HtmlHelp" . (A_IsUnicode ? "W" : "A"), Ptr)
   }
   VarSetCapacity(HH_AKLINK, sz := 4*2 + A_PtrSize*5 + 4, 0)
   NumPut(sz, HH_AKLINK)
   NumPut(&KeyWord, HH_AKLINK, 4*2)
   NumPut(1, HH_AKLINK, 4*2 + A_PtrSize*5, "UInt")
   
   IfWinNotExist, % "ahk_class HH Parent ahk_pid " . DllCall("GetCurrentProcessId")
      DllCall(HtmlHelp, Ptr, 0, Str, AutoHotkeyChmPath, UInt, HH_DISPLAY_TOPIC, UInt, 0)
   DllCall(HtmlHelp, Ptr, 0, Str, AutoHotkeyChmPath, UInt, HH_KEYWORD_LOOKUP, Ptr, &HH_AKLINK)
}