一个超级菜鸟问题,快来捞分..........

zhhrlzm 2002-03-09 08:12:25
VB怎样调用CHM文件???大家帮忙呀!
...全文
28 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongtao924 2002-03-09
  • 打赏
  • 举报
回复
chm是什么文件
h_x_k 2002-03-09
  • 打赏
  • 举报
回复
为什么不用SHELLEXECUTE呢
张国辉的宝崽 2002-03-09
  • 打赏
  • 举报
回复
你可以直接用shell函数啊
比如一个*.chm安装在c;\则shell (c:\help.chm)最好用app内建对象
zhhrlzm 2002-03-09
  • 打赏
  • 举报
回复
还是文件没找到!
我用的是windonsXP,应不会有问题吧?
zyl910 2002-03-09
  • 打赏
  • 举报
回复
Public Function CatFileAllName(PathName As String, FileName As String) As String
If Right$(PathName, 1) = "\" Then
CatFileAllName = PathName + FileName
Else
CatFileAllName = PathName + "\" + FileName
End If

End Function

试一试:Shell "Start " + GetShortFN(CatFileAllName(App.Path,"Help\HTMLHelp.chm"))
zhhrlzm 2002-03-09
  • 打赏
  • 举报
回复

我是这样写也不行呀? Why?????????????
Shell "Start " + GetShortFN(App.Path + "\Help\HTMLHelp.chm")
jdsbjcailei 2002-03-09
  • 打赏
  • 举报
回复
shell app.path & "\*.chm" 呢?
zyl910 2002-03-09
  • 打赏
  • 举报
回复
'把长文件名转成8.3文件名:
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Public Function GetShortFN(FNStr As String) As String
Dim TempStr As String
Dim TempLen As Long
Dim Rc As Long

TempLen = &H400
TempStr = String$(TempLen, 0)

Rc = GetShortPathName(FNStr, TempStr, TempLen)

If Rc Then
GetShortFN = StrConv(LeftB(StrConv(TempStr, vbFromUnicode), Rc), vbUnicode)
'Debug.Print GetShortFN, Asc(Right$(GetShortFN, 1))
End If

End Function

zyl910 2002-03-09
  • 打赏
  • 举报
回复
要使用8.3文件名!
如:Shell "Start C:\Progra~1\FlashGet\flashget.chm"
zhhrlzm 2002-03-09
  • 打赏
  • 举报
回复
我这样写
Shell "Start C:\HTMLHelp.chm"
为什么他会说文件没找到呢?
tuoshi 2002-03-09
  • 打赏
  • 举报
回复
以上两种均可。
ap800 2002-03-09
  • 打赏
  • 举报
回复
用api:shellExecute
zyl910 2002-03-09
  • 打赏
  • 举报
回复
Shell "Start "+CHM文件名

7,763

社区成员

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

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