Revert "Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev"

This reverts commit 8fca63294d, reversing
changes made to b85aff9fc9.
This commit is contained in:
Elad Salomons
2018-04-09 15:03:03 +03:00
parent 8fca63294d
commit 4415d8c4a1
40 changed files with 14233 additions and 222 deletions

View File

@@ -0,0 +1,39 @@
Attribute VB_Name = "basShellSync"
Option Explicit
Private Const INFINITE = &HFFFFFFFF
Private Const SYNCHRONIZE = &H100000
Private Const PROCESS_QUERY_INFORMATION = &H400&
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Function ShellSync(ByVal PathName As String, ByVal WindowStyle As VbAppWinStyle) As Long
'-----------------------------------------------------------------------------------------------
'Shell and wait. Return exit code result, raise an
'exception on any error.
Dim lngPid As Long
Dim lngHandle As Long
Dim lngExitCode As Long
lngPid = Shell(PathName, WindowStyle)
If lngPid <> 0 Then
lngHandle = OpenProcess(SYNCHRONIZE Or PROCESS_QUERY_INFORMATION, 0, lngPid)
If lngHandle <> 0 Then
WaitForSingleObject lngHandle, INFINITE
If GetExitCodeProcess(lngHandle, lngExitCode) <> 0 Then
ShellSync = lngExitCode
CloseHandle lngHandle
Else
CloseHandle lngHandle
Err.Raise &H8004AA00, "ShellSync", "Failed to retrieve exit code, error " & CStr(Err.LastDllError)
End If
Else
Err.Raise &H8004AA01, "ShellSync", "Failed to open child process"
End If
Else
Err.Raise &H8004AA02, "ShellSync", "Failed to Shell child process"
End If
End Function