Help!
How can i shell *.chm-help-files - and close them again when my script ends?
It seems impossible to shell a help-file-document using OS_Shell.
If it were possible to shell in ASync-mode then i would have some process-ID.
Just there is no way to check if the process with the given ID is still running since OS_ProcessIsRunning() awaits a process-name.
It works to use this for example:
but this does not return any process-IDUses "OS" ' thinBasic-InstallPath has to be "C:\thinBasic\" for this OS_ShellExecute("open", "thinBasic.chm", "", "C:\thinBasic\Help", %SW_SHOWNORMAL )
How can i determine now if this help-file is already|still open (so not to open another one) ?
And how can i close it again when my script ends?
I think there are missing some Forum-sections as beta-testing and support
Help!
How can i shell *.chm-help-files - and close them again when my script ends?
I think there are missing some Forum-sections as beta-testing and support
Do not shell, use native Windows API
The following is an abstract on ho I open help when you press F1 over a token.
Identify the token then pass it to a function similar to the following example.
The following example is a working thinBasic script using thinBasic.chm file as help and searching for "Dim" keyword.
You help file must be created with correct topics/keywords in order to search.
Ciao
Eros
Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" ( ByVal hwndCaller As DWord, pszFile As Asciiz, ByVal uCommand As DWord, ByVal dwData As DWord) As DWord Type HH_AKLINK cbStruct As Long ' sizeof this structure fReserved As Long ' must be FALSE (really!) pszKeywords As Asciiz Ptr ' semi-colon separated keywords pszUrl As Asciiz Ptr ' URL to jump to if no keywords found (may be NULL) pszMsgText As Asciiz Ptr ' Message text to display in MessageBox if pszUrl is NULL and no keyword match pszMsgTitle As Asciiz Ptr ' Message text to display in MessageBox if pszUrl is NULL and no keyword match pszWindow As Asciiz Ptr ' Window to display URL in fIndexOnFail As Long ' Displays index if keyword lookup fails. End Type %HH_KEYWORD_LOOKUP = &H000D '------------------------------------------------------------------------------ ' Open content sensitive help '------------------------------------------------------------------------------ Function thinBasic_Help(ByVal hParent As Long, ByVal HelpKeyword As String) As Long Local link As HH_AKLINK Local sWord As String Local hHlpWnd As DWord Local lCounter As Long sWord = Ucase$(Trim$(HelpKeyword)) + ";" + _ LCase$(Trim$(HelpKeyword)) + ";" + _ MCase$(Trim$(HelpKeyword)) link.cbStruct = SizeOf(HH_AKLINK) link.fReserved = %FALSE link.pszKeywords = StrPtr(sWord) link.fIndexOnFail = %FALSE '---We will automatically do this '---thinBasic help file hHlpWnd = HtmlHelp(hParent, "c:\thinBasic\Help\thinBasic.chm" + $NUL, %HH_KEYWORD_LOOKUP, VarPtr(link)) If hHlpWnd <> 0 Then 'MsgBox 0, "Help found" End If End Function thinBasic_Help(0, "Dim")
www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000
yeah- that's one step beyond already... this would be the function for [F1]-key.
And can i just shell the file too - without to pass any keyword?-
Edit, nevermid. fIndexOnFail = True does it
Last edited by ReneMiner; 29-11-2015 at 13:12.
I think there are missing some Forum-sections as beta-testing and support
Yes exactly.
I do not go into the index because on fail I need to loop though all user helps installed in thinBasic.
Researched keyword maybe is a keyword of other help files.
And only if I end without any keyword found ... I switch into thinBasic index.
%HH_KEYWORD_LOOKUP command info can be found in Microsoft documentation here: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
with all other possible commands regarding help.
www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000
Bookmarks