/// <summary> /// Initializes a new instance of <see cref="RemoteMemory"/> for a specified <see cref="Process"/>. /// </summary> /// <param name="proc"><see cref="Process"/> to open.</param> public RemoteMemory(Process proc) { if (!ProcessHelpers.ProcessExists(proc)) { throw new ArgumentException("Process not valid"); } NativeProcess = proc; ProcessHandle = ProcessHelpers.OpenProcess(ProcessAccessFlags.AllAccess, NativeProcess.Id); Is64 = ProcessHelpers.Is64Bit(NativeProcess); Both64 = Is64 && Self64; }