// Set a process start flag. private void SetFlag(ProcessStartFlags flag, bool value) { if (value) { flags |= flag; } else { flags &= ~flag; } }
// Set a process start flag. private void SetFlag(ProcessStartFlags flag, bool value) { if(value) { flags |= flag; } else { flags &= ~flag; } }
public void Apply() { internal_entry.Text = textBoxMenuText.Text; internal_entry.CommandText = textBoxCommandText.Text; ProcessStartFlags opts = ProcessStartFlags.None; if (checkBoxNoWindow.Checked) { opts = opts | ProcessStartFlags.NoWindow; } if (checkBoxUseShellexecute.Checked) { opts = opts | ProcessStartFlags.UseShellexecute; } internal_entry.Options = opts; }
// Get a process start flag. private bool GetFlag(ProcessStartFlags flag) { return ((flags & flag) != 0); }
public ProcessStartInfo(String fileName, String arguments) { this.fileName = fileName; this.arguments = arguments; this.flags = ProcessStartFlags.UseShellExecute; }
// Get a process start flag. private bool GetFlag(ProcessStartFlags flag) { return((flags & flag) != 0); }
public static ProcessStartResult StartProcess(string FilePath, string Arguments = "", ProcessStartFlags StartFlags = ProcessStartFlags.None) { if (!File.Exists(FilePath)) { throw new MagicException("No such file '{0}'", FilePath); } var pInfo = new PROCESS_INFORMATION(); var sInfo = new STARTUPINFO(); var pSec = new SECURITY_ATTRIBUTES(); var tSec = new SECURITY_ATTRIBUTES(); pSec.nLength = Marshal.SizeOf(pSec); tSec.nLength = Marshal.SizeOf(tSec); var flags = CreateProcessFlags.DETACHED_PROCESS; if (StartFlags.HasFlag(ProcessStartFlags.NoWindow)) { flags |= CreateProcessFlags.CREATE_NO_WINDOW; } if (StartFlags.HasFlag(ProcessStartFlags.Suspended)) { flags |= CreateProcessFlags.CREATE_SUSPENDED; } if (!Kernel32.CreateProcess(FilePath, Arguments, ref pSec, ref tSec, false, flags, IntPtr.Zero, null, ref sInfo, out pInfo)) { throw new MagicException("Failed to start process"); } return(new ProcessStartResult() { ProcessId = pInfo.dwProcessId, ProcessHandle = pInfo.hProcess, MainThreadId = pInfo.dwThreadId, MainThreadHandle = pInfo.hThread }); }