在vb中如何打开外部文档(如帮助文件),在线待复

疯云码农 2003-10-30 08:01:08
如何在vb中写一段代码,来实现用户按了菜单帮助按钮就弹出帮助文件???
请高手们指教一下!!!
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiyunhui 2003-10-30
  • 打赏
  • 举报
回复
我来凑一笔。
Public 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

'加一个CommonDialog和2个Commandb
Private Sub Command2_Click()
ShellExecute Me.hwnd, "open", App.Path & "\temp\access.chm", vbNullString, vbNullString, 1

End Sub

Private Sub Form_Load()

CommonDialog1.HelpFile = App.Path & "\temp\access.hlp"
End Sub
Private Sub Command1_Click()
With CommonDialog1

.HelpCommand = cdlHelpContents 'cdlHelpContents是显示目录的命令

.ShowHelp

End With
End Sub

上面一个打开hlp,一个打开chm。
App.Path & "\temp\access.chm", (是文件路径)。
疯云码农 2003-10-30
  • 打赏
  • 举报
回复
ok谢谢这么多位!
fu0212 2003-10-30
  • 打赏
  • 举报
回复
SUN.CHM 是已编译的帮助文件
FROM_LOAD()
App.HelpFile = "Sun.chm"


在程序运行时 按F1就可以调用帮助了
射天狼 2003-10-30
  • 打赏
  • 举报
回复
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 Sub Command1_Click()
ShellExecute Me.hwnd, "open", "C:\aa.chm", vbNullString, vbNullString, 1
End Sub
lihonggen0 2003-10-30
  • 打赏
  • 举报
回复
多看一下FAQ:

http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=180210
CBASE 2003-10-30
  • 打赏
  • 举报
回复
Type HH_IDPAIR
dwControlId As Long
dwTopicId As Long
End Type

'This array should contain the number of controls that have
'context-sensitive help, plus one more for a zero-terminating
'pair.
Public ids(2) As HH_IDPAIR

Declare Function GetDlgCtrlID Lib "user32" _
(ByVal hWnd As Long) As Long

Declare Function HTMLHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Long) As Long


Declare Function HTMLHelp2 Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As String) As Long

Declare Function WTHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Any) As Long




Const HH_DISPLAY_TOC = &H1 ' Special thanks to D.L. for providing

Const HH_DISPLAY_INDEX = &H2 ' specific tab information

Const HH_DISPLAY_SEARCH = &H3


Const HH_DISPLAY_TOPIC = &H0

Const HH_SET_WIN_TYPE = &H4

Const HH_GET_WIN_TYPE = &H5

Const HH_GET_WIN_HANDLE = &H6

Const HH_DISPLAY_TEXT_POPUP = &HE ' Display string resource ID or
' text in a pop-up window.
Const HH_HELP_CONTEXT = &HF ' Display mapped numeric value in
' dwData.
Const HH_TP_HELP_CONTEXTMENU = &H10 ' Text pop-up help, similar to
' WinHelp's HELP_CONTEXTMENU.
Const HH_TP_HELP_WM_HELP = &H11 ' text pop-up help, similar to
' WinHelp's HELP_WM_HELP.
'调用帮助主题
Public Sub Dchm()
Call HTMLHelp(hWnd, App.HelpFile, HH_DISPLAY_INDEX, 0)
End Sub
shashade 2003-10-30
  • 打赏
  • 举报
回复
将帮助文件编译为.chm文件,调用即可。
同意楼上的.
vbanddelphi 2003-10-30
  • 打赏
  • 举报
回复
方法一:用SHELL可以
方法二:
方法一:
调用两个API函数“shellexecute"和"getdesktopwindow"
Option Explicit
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 Declare Function GetDesktopWindow Lib "user32" () As Long

Private Const SW_SHOWMAXIMIZED = 3

Private Sub Command1_Click()
Dim pat
pat = "c:\1.ppt" '假设是你所放文件的路径
ShellExecute GetDesktopWindow(), "open", pat, pat, "C:\", SW_SHOWMAXIMIZED

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧