據我的理解,當程序訪問.hlp文件時,Window的幫助程序會處理請求。我所擁有的是一個較老的exe,它想通過菜單選項跳轉到.hlp文件中的特定主題。當然,Windows幫助提供了通用的「找不到主題」的錯誤,但是我真正喜歡的是如果它也告訴我它期望找到什麼主題,所以我可以創建一個包含缺少主題的.hlp。有什麼方法可以查看更詳細的錯誤日誌或查看請求本身,而不需要exe的源代碼?從exe中調試嵌入的缺少幫助主題
回答
短篇小說 - 沒有你的* .exe(或反編譯)的源代碼,並沒有舊的WinHelp項目文件,我想說的第一個念頭 - 沒有機會。
WinHelp(.hlp)格式自20世紀90年代初期就已出現,並已被HTML Help 1.x(.chm)所取代。微軟強烈建議你大約在十年前離開WinHelp。但是對於一個測試應用程序來說,它運行在我的Windows10機器上,就像一個魅力(藉口德語文本),並採取了一些重要步驟來修復WinHelp Viewer。請注意,我不會說這裏背景中顯示的* .chm幫助文件的HTMLHelp查看器。
Windows幫助(的WinHlp32.exe)是已包含在開始與Microsoft Windows 3.1操作系統的Microsoft Windows版本中的幫助程序。但是,Windows幫助程序尚未針對許多版本進行重大更新,並且不再符合Microsoft的標準。因此,從Windows Vista的發佈開始並在Windows 7中繼續,Windows幫助程序將不會作爲Windows的一項功能發佈。如果要查看32位.hlp文件,則必須從Microsoft下載中心下載並安裝該程序(WinHlp32.exe)。
我假設你已經安裝了這個軟件包並且有一個正在運行的32位應用程序,它在你的Windows7機器上運行WinHelp * .hlp文件。菜單中只有一個主題似乎對您不利。
這可能是由應用程序調用錯誤的TopicID或連接的幫助文件的TopicId中的拼寫錯誤造成的。也許程序員還沒有分配一個主題。造成您的錯誤的原因很多。
如果您在編寫幫助文件方面有一些經驗,那麼您知道已編譯的WinHelp文件* .hlp包含映射helpTopicId = topic。編譯WinHelp時,您將再次需要此映射和別名文件!
創建一個新的WinHelp * .hlp文件是一個很難的方法(對於我也是15年後不用)。你必須反編譯並重新編譯。一個編輯的話題。您可能會被警告 - 因爲丟失了contextId。見舊的東西從我的網站,網址爲:Converting WinHelp (HLP) to HTMLHelp (CHM) - a freeware tutorial
你可能會幸運地反編譯爲HELPCONTEXTID
通常只有一個App.HelpFile *的.hlp從應用程序聯繫在一起。要在標準窗口中顯示特定主題,Visual Basic 6調用如下所示: WinHelp(hWnd,App.HelpFile,HELP_CONTEXT,ByVal CLng(TopicID))。所以只有代碼更新會給你一個新的TopicId的機會。這必須匹配(新)幫助文件。
是的,我正在運行Microsoft提供的幫助版本作爲可選下載。但似乎我並不完全清楚。我已經用一個十六進制編輯器在應用程序周圍挖了一遍,而且我不完全確定菜單選項是否已經實現。我所希望的是,有人知道如何捕捉到「找不到主題」的錯誤,並使用某種技巧來獲取更多信息,所以我不必強行猜測主題ID。喜歡,也許更多的信息被記錄在事件查看器中。但如果真的沒有辦法吸引更多的信息,我想這是無法幫助的。 – Rajada
@Rajada:如果可能的話,[反編譯器](http://stackoverflow.com/questions/414068/is-there-a-visual-basic-6-decompiler)是一個不錯的選擇。您也可以創建一個帶有200個虛擬主題的新_hlp_文件,以找出主題ID並將其重命名爲測試。 ** TopicID **必須從1增加1到200,這很有用。 –
@Rajada:如果他們已經閱讀[MSDN]的摘錄(https://msdn.microsoft.com/en-us/library/aa261329%28v=vs.60%29.aspx?f=255&MSPPError=- 2147217396):_提示如果您有幾個幫助主題,在開始輸入HelpContextID之前可能有助於建立編號方案。爲應用程序中的每個表單或主要元素指定不同範圍的數字,例如,第一個表單爲1000 - 1999,第二個表單爲2000 - 2999,等等._ –
- 1. Cakephp中缺少幫助器
- 2. 幫助調試ajax問題
- 3. Eclipse包中缺少類,幫助
- 4. 幫助嵌入FSI
- 5. Rstudio調試 - 缺少步入按鈕
- 6. 甲骨文幫助缺少逗號
- 7. 缺少位置參數? (python幫助)
- 8. 幫助與Oracle查詢(缺少右paranethesis)
- 9. SQL幫助識別缺少數據
- 10. 嵌入youtube的幫助!
- 11. 幫助調試window.event.screenX
- 12. MIPS調試幫助
- 13. django調試幫助
- 14. 調試幫助Facebook hacakathon版問題
- 15. 幫助調試Apache,Passenger和Rails問題
- 16. ORA-29908:缺少輔助操作員的主要調用
- 17. 在Visual Studio 2008幫助系統中缺少Microsoft.WindowsMobile的幫助文件
- 18. 插入排序調試幫助
- 19. WordPress的 - 從父主題主題選項是缺少兒童主題
- 20. System.Diagnostics調試類缺少?
- 21. 在java中的Prolog嵌入幫助
- 22. CSS幫助響應主題
- 23. 幫助主題媒體wiki
- 24. 需要幫助調試Android中的NullPointerException
- 25. AMP缺少嵌入的視頻
- 26. VS2005中缺少調試器類型
- 27. Android Studio中缺少調試選項卡
- 28. 在pthread庫中缺少調試符號
- 29. 的IntelliJ缺少「@android:主題爲」
- 30. 幫助調試PL/SQL包?
你正在運行什麼操作系統版本? –
哦,當然,WIndows7,64位。但該計劃本身顯着更老...大約1998/1999年。 – Rajada
我想昨天添加標籤'Winhelp'是在這個問題的背景下。 –