guint32 tid;
MonoArray *env_keys;
MonoArray *env_values;
- MonoBoolean use_shell;
} MonoProcInfo;
+typedef struct
+{
+ MonoObject object;
+ MonoString *arguments;
+ gpointer error_dialog_parent_handle;
+ MonoString *filename;
+ MonoString *verb;
+ MonoString *working_directory;
+ MonoObject *envVars;
+ MonoBoolean create_no_window;
+ MonoBoolean error_dialog;
+ MonoBoolean redirect_standard_error;
+ MonoBoolean redirect_standard_input;
+ MonoBoolean redirect_standard_output;
+ MonoBoolean use_shell_execute;
+ guint32 window_style;
+} MonoProcessStartInfo;
+
G_BEGIN_DECLS
HANDLE ves_icall_System_Diagnostics_Process_GetProcess_internal (guint32 pid);
void ves_icall_System_Diagnostics_Process_Process_free_internal (MonoObject *this, HANDLE process);
MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject *this);
void ves_icall_System_Diagnostics_FileVersionInfo_GetVersionInfo_internal (MonoObject *this, MonoString *filename);
-MonoBoolean ves_icall_System_Diagnostics_Process_Start_internal (MonoString *cmd, MonoString *dirname, HANDLE stdin_handle, HANDLE stdout_handle, HANDLE stderr_handle, MonoProcInfo *process_handle);
+MonoBoolean ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoProcessStartInfo *proc_start_info, MonoProcInfo *process_handle);
+MonoBoolean ves_icall_System_Diagnostics_Process_CreateProcess_internal (MonoProcessStartInfo *proc_start_info, HANDLE stdin_handle, HANDLE stdout_handle, HANDLE stderr_handle, MonoProcInfo *process_handle);
MonoBoolean ves_icall_System_Diagnostics_Process_WaitForExit_internal (MonoObject *this, HANDLE process, gint32 ms);
gint64 ves_icall_System_Diagnostics_Process_ExitTime_internal (HANDLE process);
gint64 ves_icall_System_Diagnostics_Process_StartTime_internal (HANDLE process);