2010-06-22 55 views
0

我希望從lua打開一個.chm文件中的特定頁面,但找不到任何資源可以指示我如何完成此任務。如果有人可以提供一些代碼,將打開一個名爲「Test2」的名爲「TestFile.chm」的文件從lua我將不勝感激。使用Lua打開.chm在已定義的索引頁面

非常感謝:)

回答

1

這裏有兩個單獨的問題。首先,如何從Lua中打開一個CHM文件,其次,如何在特定頁面打開它。

第一個很簡單,假定你是在一個Windows盒子上,而且事情是以通常的方式設置的。鑑於此,os.execute("example.chm")將在幫助查看器中啓動CHM文件,並阻止查看器退出。要在不阻止執行的情況下打開它,您可能需要執行os.execute("start example.chm")

如果您不使用Windows,那麼如果第一種方法不起作用,則需要找出您的平臺的首選CHM查看器的名稱。

要獲得CHM中特定頁面的鏈接,您需要知道頁面的名稱。除非您有權訪問CHM的原始資源,或者可以使用HTML幫助開發人員工具來反彙編CHM並檢查其內容,否則這並不容易發現。請注意,頁面名稱可能還包含一些需要完全匹配的路徑信息。爲獲得最佳效果,請在幫助項目的HHP文件的[FILES]部分查看幫助系統已知的所需頁面的名稱。

鑑於該名稱,請調用hh.exe,如下所示:os.execute("start hh example.chm::/path/to/my/page.html")

+0

特定頁面的路徑也可以通過右擊它並選擇屬性發現。看看「Adress(URL)」字段;它是「::」字符後面的部分。另一種方法是在HTML幫助窗口菜單(點擊左上角的標題圖標時獲得的菜單)中選擇「跳轉到URL」項目 – efotinis 2011-06-10 09:17:56

+0

@ efotinis,很高興知道。我忘記了屬性對話框,我不認爲我曾經注意到Jump to URL項目。考慮到CHM內部網址的漫長而曲折的特性,很難想象誰會想到誰會使用該菜單項...... – RBerteig 2011-06-14 20:43:32

0

外殼執行ms_its://example.chm::/path/to/mypage.html也可能有助於