Пример #1
0
 public bool Open(int processId)
 {
     try
     {
         Process       = Process.GetProcessById(processId);
         ProcessHandle = OpenProcess(ProcessAccessFlags.PROCESS_VM_READ, false, Process.Id);
         bool isWow64;
         if (ProcessUtils.IsWow64Process(Process.Handle, out isWow64))
         {
             Is64BitProcess = !isWow64;
         }
         else
         {
             throw new InvalidOperationException("Can't get process is 32bit/64bit.");
         }
     }
     catch (Exception e) when(e is ArgumentException || e is InvalidOperationException)
     {
         Console.WriteLine(e);
         return(false);
     }
     Timer.Start();
     ProcessOpened?.Invoke(Process, ProcessHandle);
     return(true);
 }
Пример #2
0
 private void ObservedProcess_ProcessOpened(Process process, IntPtr processHandle)
 {
     ProcessOpened?.Invoke(this, process, processHandle);
 }