成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

VB打開CHM文件的五種方法

2010-08-28 10:48:52來源:西部e網作者:

    一個應用程序不論編制得如何完美,在很多情況下用戶還是會對如何使用它提出問題。 Visual Basic 提供了對兩種不同幫助系統的支持:傳統的 Windows 幫助系統 (WinHelp)和新的 HTML 幫助(CHM幫助)。當我們制作好幫助文件后,就需要在程序的適當位置編寫代碼進行調用,本文將討論幾種在程序中調用CHM幫助文件的方法。

  方法一 使用F1鍵:

  這種方法最簡單,只需如下代碼即可:

  Private Sub Form_Load()

  App.HelpFile = app.path & "\help.chm" '調用與主程序同目錄下的help.chm幫助文件,按F1鍵調用

  End Sub  

  方法二 使用SendKeys方法:

  Private Sub Form_Load()

  App.HelpFile = app.path & "\help.chm"

  End Sub

  private Sub CmdHelp_Click()

  SendKeys "{F1}" '發送擊鍵到活動窗口

  End Sub

  方法三 使用Shell函數:

  private Sub CmdHelp_Click()

  Shell "hh.exe help.chm", vbNormalFocus 'help.chm為指定的幫助文件,可包含路徑。

  End Sub 

  方法四 使用HtmlHelp函數:

  先聲明如下API:

  Option Explicit

  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的參數。

  然后在過程中調用:

  private Sub CmdHelp_Click()

  dim i as string

  i = app.path & "\help.chm" '用變量i記錄與主程序同目錄下的help.chm幫助文件

  HtmlHelpA Form1.hWnd, i, 0, 0

  End Sub  

  方法五 使用ShellExecute函數:

  先聲明如下API:

  Option Explicit

  '聲明API函數用于異步打開一個文檔

  Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

  Private Const SW_SHOWNORMAL = 1

  然后在過程中調用:

  private Sub CmdHelp_Click()

  dim a as long

  Dim b As String

  b = App.Path & "\help.chm" '用變量b記錄與主程序同目錄下的help.chm幫助文件

  a = ShellExecute (0, "open", b, "", "", SW_SHOWNORMAL)

  End Sub

  以上五種方法各有優缺點,從代碼的簡單上講,建議使用第二種方法。從功能上講,建議使用第五種方法,因其不只用于打開CHM幫助文件,還可用同樣的格式打開、打印或查找一個文件或文檔。

關鍵詞:VBCHM

贊助商鏈接:

主站蜘蛛池模板: 资阳市| 惠东县| 湘阴县| 丹东市| 清水河县| 平果县| 建始县| 克拉玛依市| 荃湾区| 新平| 和田县| 阳春市| 个旧市| 洛南县| 鄂州市| 正镶白旗| 锦州市| 郁南县| 福海县| 霸州市| 广州市| 左权县| 英德市| 沙洋县| 禹州市| 泾阳县| 无极县| 临汾市| 呈贡县| 西华县| 五华县| 扬州市| 庆安县| 岗巴县| 峨眉山市| 常熟市| 正镶白旗| 遵义县| 凉城县| 高邮市| 鄂托克前旗|