Anyway I wrote this IDEtool to get Win32 help.
You need the old win32.chm file, you can download it from:
https://sourceforge.net/projects/win32-help-chm/files/
Then uncompress and put the win32.chm file in the PureBasic folder.
Compile this code below and save the exe somewhere with the name: WinApiHelpTool
Then create an IDETool:
CommandLine: Choose the saved WinApiHelpTool.exe
Arguments: %WORD
Shortcut: CTRL + F1
That's all, now when you need help about a WinApi word, simply click the word and push CTRL+F1
Code: Select all
EnableExplicit
Procedure FindControlByClass(hwndParent, classNameTarget.s)
  Protected hwndChild = GetWindow_(hwndParent, #GW_CHILD)
  
  While hwndChild
    Protected className.s = Space(256)
    GetClassName_(hwndChild, @className, 255)
    
    If className = classNameTarget
      ProcedureReturn hwndChild
    Else
      Protected result = FindControlByClass(hwndChild, classNameTarget)
      If result : ProcedureReturn result : EndIf
    EndIf
    
    hwndChild = GetWindow_(hwndChild, #GW_HWNDNEXT)
  Wend
  
  ProcedureReturn 0
EndProcedure
Procedure OpenCHMWithSearch(chmFile.s, searchTerm.s)
  Protected hhPath.s = "hh.exe"
  Protected pid = RunProgram(hhPath, chmFile, "")
  CloseConsole()
  
  If pid    
    Protected hwndCHM = 0
    Protected i
    For i = 0 To 100
      hwndCHM = FindWindow_("HH Parent", 0)
      If hwndCHM : Break : EndIf
      Delay(150)
    Next
    
    If hwndCHM
      SetForegroundWindow_(hwndCHM)
      Delay(150)
      ; Search for TabControl
      Protected hwndTab = FindControlByClass(hwndCHM, "SysTabControl32")
      
      If hwndTab        
        ; Select Tab-1
        SendMessage_(hwndTab, #TCM_SETCURSEL, 1, 0)
        
        ; Simulate Tab change event
        Protected notify.NMHDR
        notify\hwndFrom = hwndTab
        notify\idFrom = GetDlgCtrlID_(hwndTab)
        notify\code = #TCN_SELCHANGE
        SendMessage_(hwndCHM, #WM_NOTIFY, notify\idFrom, @notify)
        
        Delay(150)
        
        
          ; Iterate tabs to show the StringGadget
          keybd_event_(#VK_CONTROL, 0, 0, 0)
          keybd_event_(#VK_TAB, 0, 0, 0)
          keybd_event_(#VK_TAB, 0, #KEYEVENTF_KEYUP, 0)
          keybd_event_(#VK_TAB, 0, 0, 0)
          keybd_event_(#VK_TAB, 0, #KEYEVENTF_KEYUP, 0)
          keybd_event_(#VK_TAB, 0, 0, 0)
          keybd_event_(#VK_TAB, 0, #KEYEVENTF_KEYUP, 0)
          keybd_event_(#VK_TAB, 0, 0, 0)
          keybd_event_(#VK_TAB, 0, #KEYEVENTF_KEYUP, 0)
          keybd_event_(#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0)
        
        
        ; Find StringGadget inside actual TabPanel
        Protected hwndEdit = FindControlByClass(hwndCHM, "Edit")
        If hwndEdit
          Debug "Campo de texto encontrado: " + Str(hwndEdit)
          SetFocus_(hwndEdit)
          
          SetClipboardText(searchTerm)
          Delay(150)
          
          ; Simulate Ctrl + V
          keybd_event_(#VK_CONTROL, 0, 0, 0)
          keybd_event_(#VK_V, 0, 0, 0)
          keybd_event_(#VK_V, 0, #KEYEVENTF_KEYUP, 0)
          keybd_event_(#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0)
          
          Delay(150)
          
          ; Simulate ENTER
          keybd_event_(#VK_RETURN, 0, 0, 0)
          Delay(50)
          keybd_event_(#VK_RETURN, 0, #KEYEVENTF_KEYUP, 0)
        Else
          MessageRequester("Error", "StringGadget not found.")
        EndIf
      Else
        MessageRequester("Error", "TabPanel not found.")
      EndIf
    Else
      MessageRequester("Error", "Can't find the visor CHM window.")
    EndIf
  Else
    MessageRequester("Error", "Can't execute hh.exe.")
  EndIf
EndProcedure
Define chmPath.s = #PB_Compiler_Home+"\win32.chm"
Define termino.s = ProgramParameter()
If termino=""
  termino="Legal Information"
Else
  If Right(termino,1)="_"
    termino= Left(termino, Len(termino)-1)
  Else
    End
  EndIf
EndIf
OpenCHMWithSearch(chmPath, termino)







 I don't know about it
 I don't know about it 