下面的代码是调用系统默认程序打开PDF,注意修改文件路径D:help.pdf
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 Command1_Click()
Dim result
result = ShellExecute(0, vbNullString, "D:help.pdf", vbNullString, vbNullString, SW_SHOWNORMAL)
If result
MsgBox "打开失败!", vbOKOnly + vbCritical, "错误:", 0
End If
End Sub
'不就是打开PDF吗
下面是代码
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
Dim Sfile as string
Dim lR As Long
sfile="文件路径"
lR = ShellExecute(Me.hWnd, "Open", sfile, "", "", vbNormalFocus)
用API函数ShellExecute
VB声明
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
说明
查找与指定文件关联在一起的程序的文件名。关联的方式要么是运行程序,要么是打印文件。可用Windows注册表编辑器将特定的文件类型同应用程序关联起来。例如,扩展名为.TXT的文本文件通常与Windows记事本(NOTEPAD.EXE)关联到一起。如在文件管理器中双击含.TXT扩展名的一个文件,就会自行启动记事本程序,并在其中载入文本文件;或者将指定的文件打印出来
返回值
Long,大于32表示成功
参数表 :
参数 类型及说明
hwnd Long,指定一个窗口的句柄,有些时候,Windows程序有必要在创建自己的主窗口前显示一个消息框。如果发生这种情况,由这个参数指定的窗口就会作为消息框的父窗口使用。在VB环境中,通常将活动窗体的窗口句柄作为这个参数使用
lpOperation String,指定字串“Open”来打开lpFlie文档;或指定“Print”来打印它。也可设为vbNullString,表示默认为“Open”
lpFile String,想用关联的程序打印或打开的一个程序名或文件名
lpParameters String,如lpFile是一个可执行文件,则这个字串包含了传递给执行程序的参数。如lpFile引用的是一个文档文件,或者不需要使用参数,则设为vbNullString
lpDirectory String,想使用的默认路径完整路径
nShowCmd Long,定义了如何显示启动程序的常数值。
注解
这个函数的说明在MSDN里是这样的:Opens or prints a specified file
以上是如何在VB6程序中调用并打开PDF文件的详细内容。更多信息请关注PHP中文网其他相关文章!