public bool TryOpen(string processName, WinApi.ProcessAccessFlags desiredAccess = WinApi.ProcessAccessFlags.All) { var processes = Process.GetProcessesByName(processName); if (processes.Length == 0) { return(false); } try { ProcessHandle = WinApi.OpenProcess(processes[0], desiredAccess); return(true); } catch (Exception) { return(false); } }
public ProcUtils(Process process, WinApi.ProcessAccessFlags handleFlags) { Process = process; Handle = OpenHandleByProcess(process, handleFlags); }
public ProcUtils(int id, WinApi.ProcessAccessFlags handleFlags) : this(Process.GetProcessById(id), handleFlags) { }
public ProcUtils(string processName, WinApi.ProcessAccessFlags handleFlags) : this(Process.GetProcessesByName(processName)[0], handleFlags) { }
public static IntPtr OpenHandleByProcess(Process process, WinApi.ProcessAccessFlags flags) { return(OpenHandleByProcessID(process.Id, flags)); }
public static IntPtr OpenHandleByProcessName(string name, WinApi.ProcessAccessFlags flags) { return(OpenHandleByProcessID(Process.GetProcessesByName(name)[0].Id, flags)); }
public static IntPtr OpenHandleByProcessID(int id, WinApi.ProcessAccessFlags flags) { return(WinApi.OpenProcess(flags, false, id)); }