Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 public ProcUtils(Process process, WinApi.ProcessAccessFlags handleFlags)
 {
     Process = process;
     Handle  = OpenHandleByProcess(process, handleFlags);
 }
Esempio n. 3
0
 public ProcUtils(int id, WinApi.ProcessAccessFlags handleFlags)
     : this(Process.GetProcessById(id), handleFlags)
 {
 }
Esempio n. 4
0
 public ProcUtils(string processName, WinApi.ProcessAccessFlags handleFlags)
     : this(Process.GetProcessesByName(processName)[0], handleFlags)
 {
 }
Esempio n. 5
0
 public static IntPtr OpenHandleByProcess(Process process, WinApi.ProcessAccessFlags flags)
 {
     return(OpenHandleByProcessID(process.Id, flags));
 }
Esempio n. 6
0
 public static IntPtr OpenHandleByProcessName(string name, WinApi.ProcessAccessFlags flags)
 {
     return(OpenHandleByProcessID(Process.GetProcessesByName(name)[0].Id, flags));
 }
Esempio n. 7
0
 public static IntPtr OpenHandleByProcessID(int id, WinApi.ProcessAccessFlags flags)
 {
     return(WinApi.OpenProcess(flags, false, id));
 }