declares to OS apis to start an app are in WFS (or were)
something like
Protected Sub LaunchAppWithArguments(app as string, args() as String)
#If TargetMacOS
Dim w As New NSWorkspaceMBS
Dim file As FolderItem = GetFolderItem(app, FolderItem.PathTypeNative)
Dim error As NSErrorMBS
Dim configuration As New Dictionary
Dim options As Integer
configuration.Value(w.NSWorkspaceLaunchConfigurationArguments) = args
// and hide all others
// options = w.NSWorkspaceLaunchAndHideOthers
options = w.NSWorkspaceLaunchAsync
Dim r As NSRunningApplicationMBS = w.launchApplicationAtFile(file, options, configuration, error)
If r = Nil Then
Break
MsgBox "Error: " + error.LocalizedDescription
Else
// MsgBox "Started: "+r.localizedName
End If
#ElseIf TargetWin32
Soft Declare Sub ShellExecuteA Lib "Shell32" ( hwnd As Integer, operation As CString, file As CString, params As CString, directory As CString, show As Integer )
Soft Declare Sub ShellExecuteW Lib "Shell32" ( hwnd As Integer, operation As WString, file As WString, params As WString, directory As WString, show As Integer )
Dim params As String
params = Join( args, " " )
Dim file As FolderItem = GetFolderItem(app, FolderItem.PathTypeNative)
If System.IsFunctionAvailable( "ShellExecuteW", "Shell32" ) Then
ShellExecuteW( 0, "open", file.nativePath, params, "", 1 )
Else
ShellExecuteA( 0, "open", file.nativePath, params, "", 1 )
End If
#Else
#EndIf
End Sub