나는 분명히 HTMLHELP에서이 버그로 실행, 2001 년에서 (그들은 아직 고정하지 않은,하지만 적어도 그들은 그것을 문서화.) 한잘못된 CHM 파일을로드하는 HTMLHelp에 대한 가능한 해결 방법은 무엇입니까?
"BUG : HTMLHELP()는 잘못된 도움말 파일을 엽니 다" 내 CHM 파일의 이름을 변경하는 http://support.microsoft.com/kb/267962/en-us
그들의 제안 "수정"입니다. 그러나 나는 정말로 그렇게하고 싶지 않습니다.
여기에 대한 자세한있다 : http://kb.helpwaregroup.com/ms-html-help/hh-faq#TOC-The-Same-CHM-Opens-Bug
"가장 쉬운 수정은 각 CHM를 열기 전에 HHCTRL.OCX 도서관에 FreeLibrary를() 다음을 LoadLibrary()를 호출하는 것입니다"같은 CHM 버그를 엽니 다 "
.이 두 번째 솔루션은 응용 프로그램이 LoadLibrary를 사용하여 HH API (HHCtrl.OCX)를 동적으로로드하는 경우에만 작동하며 정적으로 API를로드하는 VB와 같은 언어로 작성된 응용 프로그램은이 작업을 수행 할 수 없습니다. "
내 프로그램은 .Net이고 System.Windows.Form.Help.ShowHelp()를 사용하고 있습니다. 여하튼 HHCtrl.OCX를 언 로딩하여 속임수를 쓸 수 있습니까? 예를 들어 p/Invoke? 다른 제안?
편집 :
정교하게하려면 : Microsoft는 2001 년에 인정하지만, 고정 주위에 없었어 것을 HTMLHELP의 알려진 문제가 있습니다. 내 경우
나는 "... \ 덴마크어 \ Help.chm"와 "... \ 영어 \ Help.chm"두 개의 도움말 파일을했다. 내 프로그램은 사용자가 선택한 언어에 따라 하나 또는 다른 언어를 엽니 다. 문제는 사용자가 도움말 정보를 표시 한 다음 언어를 전환하고 F1을 다시 누르면 프로그램이 다른 도움말 파일을 열려고 시도하지만 도움말 지원 코드가 이전에 열었던 도움말 파일을 다시 열어야한다는 것입니다.
이 알려진 해결 방법은하지만 C++ 프로그램에만 적용하고, 내 프로그램은 닷넷처럼 나에게 보인다. 그래서 그 해결 방법이나 다른 수정 프로그램을 .Net 프로그램에 적용하는 방법을 아는 사람이 있는지 묻습니다.
Dint는 정확하게 – Shrivallabh
@Shri : 깨진 링크를 수정하고 더 많은 정보를 추가했습니다. 관심을 가져 주셔서 감사합니다. – RenniePet