用api調用chm格式的幫助文件
發表于:2007-07-14來源:作者:點擊數:
標簽:
HtmlHelp函數 VB 聲明如下(API瀏覽器中沒有,我自己照VC的聲明改的): Private Declare Function HtmlHelpA Lib hhctrl.ocx (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long hwndCaller指出調
HtmlHelp函數
VB聲明如下(API瀏覽器中沒有,我自己照VC的聲明改的):
Private Declare Function HtmlHelpA Lib "hhctrl.ocx" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long
hwndCaller指出調用者的窗口,pszFile指出要調用的文件,uCommand是發送給
HtmlHelp的命令,dwData是uCommand的參數。
這個函數位于system\hhctrl.ocx中,你安裝了IE4以上版本瀏覽器就應該有
調用舉例: HtmlHelpA Form1.hWnd, "C:\
WINDOWS\HELP\CALC.CHM", 0, 0 這個是
最簡單的例子,uCommand和dwData的組合能產生許多非常復雜的功能具體情況可
查找MSDN:HTMLHelp API Reference主題
函數的C語言原型和所用到的結構和常量定義參見HTML Help Workshop\include\
htmlhelp.h 當然你必須先安裝了Html Help Workshop
hhctrl.ocx文件雖然后綴是OCX卻不是控件,而是一個標準的DLL
林夕:
我有點不明白,VB中好象可以直接調用*.chm嘛,如下例,有什么不妥嗎?請各位
大蝦指正。
Private Sub Form_Load()
App.HelpFile = "c:\a\a.chm" 注釋:如不指明路徑,默認為
Windows目錄下的Help
Me.HelpContextID = 10001
End Sub Private
Sub Command1_Click()
SendKeys "{F1}" 注釋:按F1鍵,系統自動調用幫助
End Sub
hmg:
我用一個小程序試驗了一下
form_load()
app.helpfile="c:\1.chm" 注釋:文件名是1.chm
end sub
......._click()
cd1.helpfile="c:\1.hlp" 注釋:cd1是公用對話框,我故意寫成1.hlp
cd1.helpcommand=&h3
cd1.showhelp
end
以上程序居然能成功,莫名其妙可是在我的大程序里,就不那末順利,奇怪?
一個偶然的機會我發現
windows目錄下的hh.exe可以調用chm的幫助,因此我想到可
以用shell語句, .........
shell "hh.exe 1.chm,.......
..........
hh.exe可以拷到任一目錄下執行.
原文轉自:http://www.anti-gravitydesign.com