Hi again Dave,
Success! I've managed to get the RunProgram option to do what I want: the syntax is...
fullPath = "C:/Users/MyName/Documents/MyFolder/MySubFolderEtcEtc";
RunProgram(Executable("hh.exe"), Options(fullPath || "/MyHelpFile.chm::MyPage.htm") );
where "fullPath" is the complete path of the .CHM file; "MyHelpFile" is the name of my .CHM file, and "MyPage.htm" is the name of the page I want to display. I can find out what that page name is by right-clicking on the relevant page of the opened CHM file, selecting "Properties" and reading the last part of the URL address, i.e. the part from the double colon onwards. (The URL address is likely to be longer than the field in the Properties window can display, so just click inside the field and move the cursor as far right as it will go to make it readable.)
Many thanks for your help: I wouldn't have got there without it.