Задача:
В процессе работы приложения трбуется вызывать на экран файлы справки chm. Файлов несколько, и одновременно могут быть вызваны несколько одновременно. Для вызова использую:
HWND win = HtmlHelp( caller, topic_name, HH_DISPLAY_TOPIC, NULL );
где topic_name имеет вид
"c:\path1\folder 2\File123.chm:/folder/topic.htm"
caller — либо GetDesktopWindow(), либо 0
Если на момент вызова справки других окон справки не открыто, то всё проходит корректно — окно открывается и позиционируется на нужный топик.
Если же на момент открытия уже открыто окно справки с другим файлом, то при повторном вызове оба окна перестают отрисовываться, реагировать. Можно закрыть их, только закрыв основную программу.
Кстати, вызов HtmlHelp( NULL, NULL, HH_CLOSE_ALL, 0 ), как указано в msdn, не вызывает никакаго закрытия окон, поэтому и прблему не устраняет.