woohoo, working code at last:-
declarations Code:
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long Private Const SYNCHRONIZE = &H100000 Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Private Declare Function OpenProcess Lib "kernel32" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long
event code Code:
Private Sub picSheetInner_DblClick() Dim strExecutable As String Dim lngPID As Long Dim lngReturn As Long Dim strSend As String On Error GoTo errHandler strExecutable = Space$(256) Call FindExecutable(Mid$(mstrImagePath, InStrRev(mstrImagePath, "\") + 1), Left$(mstrImagePath, InStrRev(mstrImagePath, "\") - 1), strExecutable) strExecutable = Left$(strExecutable, InStr(strExecutable, vbNull) - 1) strSend = strExecutable & " """ & mstrImagePath & """" Let lngPID = Shell(strSend) Let lngPID = OpenProcess(SYNCHRONIZE, False, lngPID) Do Let lngReturn = WaitForSingleObject(lngPID, 0) DoEvents Loop While lngReturn <> 0 Exit Sub errHandler: Call hmferErrors.faimErrors(Err, "picSheetInner_DblClick", "frmPaper2", , gstrUserName, , App.EXEName) End End Sub
Thanks to all for your help, particularly Rhino, DNA and Ellis.




Reply With Quote