Skip to content

Exit code support #1

@Last8Exile

Description

@Last8Exile

It works for me.

Kernel32.cs

        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool GetExitCodeProcess(IntPtr processHandle, out int exitCode);

Process.cs

        public int                            ExitCode    => _exitCode;
        private int                           _exitCode;
        private void ProcessExited()
        {
            if (_hasExited)
                return;

            _hasExited  = true;
            if (Kernel32.GetExitCodeProcess(_processHandle, out var exitCode))
                _exitCode = exitCode;

            var handler = Exited;

            if (_disposed == false && handler != null)
            {
                try { handler(this, EventArgs.Empty); } catch { }
            }

            Dispose();
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions