Private Declare Function ShellExecuteEx Lib "shell32.dll" (SEI As SHELLEXECUTEINFO) As Long
Const SEE_MASK_INVOKEIDLIST = &HC
Const SEE_MASK_NOCLOSEPROCESS = &H40
Const SEE_MASK_FLAG_NO_UI = &H400
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Sub printpdf(FileName As String, OwnerhWnd As Long)
Dim s As SHELLEXECUTEINFO
Dim r As Long
With s
.cbSize = Len(s)
.fMask = SEE_MASK_NOCLOSEPROCESS
.hwnd = OwnerhWnd
.lpVerb = "print"
.lpFile = FileName
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 1
.hInstApp = 0
.lpIDList = 0
End With
r = ShellExecuteEx(s)
End Sub
Private Sub Command1_Click()
Call printpdf("c:\1.pdf", 0)
End Sub